Kubernetes
Managed Kubernetes provisions a cluster in the region you choose and lets you run your workloads with kubectl. Clusters are scoped to your organization, and you connect to them with a downloadable kubeconfig.
Create a cluster
In the console, go to Kubernetes → Create cluster and fill in:
- Name — lowercase letters, digits and hyphens. It must start and end with an alphanumeric character and be at most 63 characters (an RFC 1123 label), for example
prod-eu. - Region — pick one from the available list.
- Version —
1.30(default),1.29or1.28.
The cluster list shows each cluster's name, version, node count, status and region.
When you create a cluster it starts in the provisioning state. Once it finishes, the status becomes running.
Connect with kubectl
After the cluster has finished provisioning, download its kubeconfig and point kubectl at it:
export KUBECONFIG=~/Downloads/<name>.kubeconfig.yaml
kubectl get nodes
kubectl get pods -AThe kubeconfig is also available programmatically over the signed gRPC API (nexlayer.k8s.v1.K8sService/GetClustersKubeconfig), returned as YAML. The kubeconfig becomes available only after the cluster finishes provisioning — while the cluster is still being created the call returns kubeconfig not yet available.
WARNING
The kubeconfig grants full access to your cluster. Keep it secret — treat it like a password and never commit it to source control.
Node pools and scaling
Each cluster has a node pool. To scale it, set the desired node count in the console. The value is clamped to the platform maximum, and the pool's status becomes scaling while the change is applied. Programmatically this is K8sService/CreatePoolsScale with { "node_count": 3 }.
Delete a cluster
Deleting a cluster (from the console, or K8sService/DeleteClusters over the API) sets its status to deleting and tears down its nodes.
WARNING
Deleting a cluster removes its nodes and the workloads running on them. This cannot be undone.
Cluster statuses
provisioning— the cluster is being created.running— the cluster is ready to use.scaling— the node pool is changing size.deleting— the cluster is being removed.
API reference
The management API is gRPC: service nexlayer.k8s.v1.K8sService, called with a signed Aral Cloud client and a Bearer token — the same transport the console uses.
| RPC | Request |
|---|---|
CreateClusters | { name, region, version } |
ListClusters | — |
GetClustersKubeconfig | { id } |
DeleteClusters | { id } |
CreatePoolsScale | { id, node_count } |
TIP
Prefer the terminal for everything else too? See the CLI guide.