DigitalOcean (DOKS)
UpCloud (UKS)
Google (GKE)
OVHcloud (MKS)
Azure (AKS)
Amazon (EKS)
| Provider kind | Service | Credential |
|---|---|---|
doks | DigitalOcean Kubernetes (DOKS) | DigitalOcean API token |
uks | UpCloud Managed Kubernetes (UKS) | UpCloud API token |
gke | Google Kubernetes Engine (GKE) | GCP service account key |
ovh_mks | OVHcloud Managed Kubernetes (MKS) | OVHcloud application keys + Public Cloud project |
aks | Azure Kubernetes Service (AKS) | Azure service principal |
eks | Amazon EKS | AWS credential (access keys or IAM role) |
Managed vs self-managed
Ankra provisions two kinds of clusters. Managed Kubernetes (this page) is usually the fastest path if your provider offers it; self-managed clusters give you full control of the control plane and run anywhere you have compute.| Managed Kubernetes | Self-managed | |
|---|---|---|
| Providers | DOKS, UKS, GKE, OVHcloud MKS, AKS, EKS | Hetzner, OVH, UpCloud, DigitalOcean droplets, Proxmox, Morpheus |
| Control plane | Operated by the provider | Provisioned and maintained in your account (bastion + control plane nodes) |
| Access model | No bastion, no SSH | SSH via a bastion; you own the nodes |
| Kubernetes distribution | Provider’s | k3s or kubeadm, selectable CNI, optional external etcd |
| Cost | Provider’s control-plane + node rates | Your compute only (no managed control-plane fee) |
| Stop / start, control-plane editing | Not applicable | Supported |
| Best when | Your cloud offers managed Kubernetes and you want the least to operate | You run on-prem or want full control of the control plane |
Surface coverage. The portal, API, and AI assistant cover the full feature set for all six providers. The
ankra CLI creates, deletes, scales node pools, and upgrades all six providers (--provider doks|uks|gke|ovh_mks|aks|eks), but does not expose provider-specific control-plane options (HA, network plugin, SKU tier, release channel, and so on), node-pool autoscaling bounds, or cluster discovery and import. For those, use the portal or the API.Prerequisites
One provider credential, stored in Ankra. See Credentials for the per-provider setup:- DOKS - DigitalOcean API token with read/write
- UKS - UpCloud API credential
- GKE - GCP service account key with the Kubernetes Engine Admin (
roles/container.admin) and Service Account User (roles/iam.serviceAccountUser) roles, and the Kubernetes Engine API enabled - OVH MKS - OVHcloud application keys with a Public Cloud project (
project_id) - AKS - Azure service principal with Contributor on the target subscription
- EKS - AWS credential with permissions for EKS, EC2, and IAM role management
Live options and pricing
Every choice in the create flow is fetched live from the provider with your credential - regions, Kubernetes versions (with support windows), node sizes, and prices, including spot capacity and quota-aware availability where the provider exposes it. Nothing is hardcoded, so new instance families and price changes show up automatically. The create wizard renders these options for you; you can also fetch them from the API:locations, versions / version_options (with supported_until where the provider publishes it), sizes (vCPUs, memory, disk, GPU, monthly price), cluster_plans, and capabilities (spot, autoscaling, autopilot, private endpoint, HA control plane).
Creating a managed cluster
Via the Platform UI
Credential & Location
Select the provider credential and a region. Locations load live from the provider.
Node Pools
Define one or more worker pools: name, node size (with live pricing and a monthly cost summary), count, labels, and - where supported - autoscaling bounds.
Kubernetes
Pick a Kubernetes version (or keep the provider default) and any provider-specific control plane options - HA (DOKS), control-plane plan (UKS), release channel / Autopilot (GKE), plan and update policy (OVH MKS), network plugin, private cluster and SKU tier (AKS), or subnets and control-plane logging (EKS).
Preflight & Create
Ankra runs provider preflight checks (credential validity, quota, name availability) before submitting. Failures block creation; warnings are shown for review. A live progress view then tracks control plane provisioning, node pools, kubeconfig retrieval, and Ankra Agent installation.
Via the CLI
--provider flag accepts doks, uks, gke, ovh_mks, aks, and eks. Optional flags are --kubernetes-version and the GitOps trio (--gitops-credential-name, --gitops-repository, --gitops-branch). The CLI create sends a single initial node pool; provider-specific control-plane options (HA, network plugin, release channel, SKU tier, and so on) and node-pool autoscaling bounds are set from the portal or the API below.
Via the API
POST /org/clusters/managed/{provider}/preflight first to get the provider checks without creating anything.
Provider-specific options
Each provider takes its own control-plane and networking options - HA (DOKS), control-plane plan (UKS), release channel and Autopilot (GKE), plan and update policy (OVH MKS), network plugin and SKU tier (AKS), or subnets and control-plane logging (EKS). The exact fields for each are documented on the per-provider pages and in the Managed Kubernetes reference: DOKS · UKS · GKE · OVH MKS · AKS · EKSImporting existing clusters
Already running managed Kubernetes? Discover clusters at the provider and adopt them into Ankra without touching them. Discovery and import run from the portal or the API (all six providers):Day-2 operations
Node pools
PATCH endpoint above. AKS pool names are lowercase alphanumeric and at most 12 characters.
Kubernetes upgrades
Ankra lists the upgrade targets the provider actually offers for your cluster’s current version. In the portal, Settings → General → Kubernetes Version shows available upgrades with their support windows. You can also upgrade any provider from the CLI:Deleting
What does not apply to managed clusters
Because the provider owns the control plane, some lifecycle operations that exist for self-managed clusters are not applicable here:- Stop / start and Delete Kubernetes (deprovision) - there is no Ankra-managed compute to release; use the provider’s own controls or delete the cluster.
- Control-plane topology editing (controller count, control-plane instance type) - the provider sizes and manages the control plane. HA control planes, where offered, are selected at creation.
- Instance-type upgrade in place - change node sizing by editing or replacing a node pool, not by resizing individual nodes.
Ankra AI
The Ankra AI assistant can operate managed Kubernetes across all six providers, the same as the portal and API. Ask it to:- “What does a 3-node e2-standard-4 GKE cluster in europe-west1 cost?” - it fetches live options and pricing with your credential
- “Create an AKS cluster in West Europe with autoscaling 2–5 nodes” - it proposes the create for your confirmation
- “What EKS clusters exist in our AWS account?” - it discovers clusters at the provider and shows which are already imported
- “Import the staging GKE cluster” - it adopts a discovered cluster after you confirm
Troubleshooting
| Issue | Solution |
|---|---|
| Options list is empty or fails | The credential is invalid or lacks API permissions - re-run Test connection on the credential |
| Preflight reports a quota error | Raise the provider quota (vCPUs, clusters per region) or pick another region/size |
| AKS create rejected with a name error | Pool names must be lowercase alphanumeric, max 12 characters; cluster names max 63 |
| GKE create rejected with a name error | Cluster names are lowercase letters, numbers, hyphens; must start with a letter |
| EKS cluster stuck creating | EKS control planes routinely take 10–15 minutes; node groups follow after |
| Cluster shows offline after create | The agent installs as the last step - check the operation timeline on the cluster page |
| Import says “already imported” | The cluster is connected to this or another Ankra organisation; find it in Clusters |