create_ankracloud_cluster
Create and provision a new self-managed Kubernetes cluster on Ankra Cloud: k3s or kubeadm on Ankra Cloud servers in one zone, reached through a bastion server that holds the cluster's one public IPv4. Ankra creates a private network (or adopts private_network_id), a router with NAT for the nodes' egress and a firewall that admits only the private network to the nodes; the Ankra Cloud cloud controller manager is always installed. The organisation's built-in Ankra Cloud credential is used unless credential_id names a stored one (list_provider_credentials with provider='ankracloud'). Zones and plans come from list_managed_k8s_options with provider='ankracloud_k8s': its locations are the zones and its node sizes are the plans, with monthly prices. The create runs a preflight first (credential, billing standing of the built-in account, zone offers compute, every plan and the template exist, an adopted network lives in the zone, quota) and refuses with every failing item when it cannot proceed; nothing is written on refusal. A managed Ankra Cloud Kubernetes cluster (Ankra Cloud runs the control plane) is create_managed_cluster with provider='ankracloud_k8s', not this tool. Only available to organisations with Ankra Cloud enabled.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cni | No | Container network plugin. Default: 'cilium'. kubeadm accepts only cilium. | |
| name | Yes | Cluster name. Must be unique within the organisation. | |
| zone | Yes | Ankra Cloud zone the servers are placed in (e.g., 'se-sto1'). Get the deployable zones from list_managed_k8s_options with provider='ankracloud_k8s'. | |
| template | No | Public Ankra Cloud operating-system template every server boots. Default: 'debian-13'. | |
| description | No | Optional cluster description. | |
| include_dns | No | Provision the cluster's Ankra-managed DNS zone. Default: true. | |
| worker_plan | No | Ankra Cloud plan for worker nodes. Required when worker_count is above zero. | |
| bastion_plan | Yes | Ankra Cloud plan for the bastion server (e.g., 'premium-2xcpu-4gb'). Plans are the node sizes list_managed_k8s_options returns for provider='ankracloud_k8s'. | |
| distribution | No | Kubernetes distribution. Default: 'kubeadm' (vanilla upstream Kubernetes with Cilium). 'k3s' is the lightweight alternative. kubeadm supports only the cilium CNI on Ankra Cloud. | |
| worker_count | No | Number of worker nodes. Default: 1. | |
| credential_id | No | UUID of the Ankra Cloud credential. Get from list_provider_credentials with provider='ankracloud'. Omit it to use the organisation's built-in Ankra Cloud credential, which is the normal case. | |
| gitops_branch | No | Branch of the GitOps repository. Default: 'master'. | |
| gitops_provider | No | Provider of the GitOps repository: 'github' (the default when omitted) or 'bitbucket_cloud'. Pass the credential's provider from list_gitops_credentials. | |
| gitops_repo_slug | No | Bitbucket Cloud repository slug of the GitOps repository (from list_gitops_repositories). Only with gitops_provider 'bitbucket_cloud', together with gitops_workspace. | |
| gitops_workspace | No | Bitbucket Cloud workspace of the GitOps repository (from list_gitops_repositories). Only with gitops_provider 'bitbucket_cloud', together with gitops_repo_slug. | |
| network_ip_range | No | Created network only: the private IPv4 CIDR Ankra creates the cluster network with. Omit it for a range derived per cluster. Refused alongside private_network_id. | |
| retention_policy | No | Storage retention on teardown. Default: 'retain'. | |
| worker_disk_tier | No | Storage tier of each worker's root disk. Omit it for the zone's default tier. local-nvme puts the disk on the node's own fast disks (the right choice for CI nodes); standard, maxiops and hdd are the zone's Ankra Storage tiers. | |
| bastion_disk_tier | No | Storage tier of the bastion's root disk. Omit it for the zone's default tier. local-nvme puts the disk on the node's own fast disks (the right choice for CI nodes); standard, maxiops and hdd are the zone's Ankra Storage tiers. | |
| gitops_repository | No | Optional GitOps repository to connect at creation: 'owner/repo' on GitHub, 'workspace/repo_slug' on Bitbucket Cloud; requires gitops_credential_name. | |
| control_plane_plan | Yes | Ankra Cloud plan for control plane nodes. | |
| include_networking | No | Install the platform networking stack (ingress, cert-manager, external-dns). Default: true. | |
| kubernetes_version | No | Kubernetes version. If not specified, uses the latest supported version. | |
| private_network_id | No | Id of an existing Ankra Cloud private network in the same zone to adopt; it is never deleted with the cluster. Refused alongside network_ip_range. Omit it to have Ankra create a private network for the cluster. | |
| bastion_allowed_ips | No | IPv4 or IPv6 addresses or CIDRs allowed to SSH to the bastion's public IPv4 (e.g., '203.0.113.4/32'). Omit it to admit SSH from the internet; access is still key-only. | |
| control_plane_count | No | Number of control plane nodes. Default: 1. | |
| ssh_key_credential_id | No | UUID of an SSH key credential to install on the bastion and nodes. Get from list_provider_credentials with provider='ssh-key'. Omit it to use only the key Ankra generates for the cluster. | |
| worker_disk_gibibytes | No | Root disk size of each worker in GiB. Omit it for the plan's included disk. Keep it small when workloads keep their data on persistent volumes. | |
| bastion_disk_gibibytes | No | Root disk size of the bastion in GiB. Omit it for the plan's included disk. Ankra Cloud refuses a size below the plan's and the template's minimum. | |
| gitops_credential_name | No | Name of the git credential, GitHub or Bitbucket Cloud, that can read the GitOps repository (see list_gitops_credentials). Requires gitops_repository, or for Bitbucket Cloud gitops_workspace and gitops_repo_slug. | |
| control_plane_disk_tier | No | Storage tier of each control plane's root disk. Omit it for the zone's default tier. local-nvme puts the disk on the node's own fast disks (the right choice for CI nodes); standard, maxiops and hdd are the zone's Ankra Storage tiers. | |
| control_plane_disk_gibibytes | No | Root disk size of each control plane in GiB. Omit it for the plan's included disk. |