create_proxmox_cluster
Create and provision a new Kubernetes cluster on Proxmox VE. Requires a Proxmox VE API credential, an SSH key credential, a Proxmox host node, and a network bridge. Instance types are the Proxmox t-shirt presets ('px-small', 'px-medium', 'px-large', 'px-xlarge'). Use list_proxmox_options to discover the credential's nodes, presets, storages, bridges, and templates. The cluster will begin provisioning immediately after confirmation.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cni | No | Cluster CNI. Default: 'flannel'. | |
| name | Yes | Cluster name. Must be unique within the organisation. | |
| node | Yes | Proxmox host node the cluster VMs are created on (from list_proxmox_options). The bastion always stays on this node. | |
| bridge | Yes | Proxmox network bridge or Ankra-managed SDN vnet for the cluster VMs (from list_proxmox_options). Prefer a bridges entry with source 'sdn' (an Ankra-managed SDN vnet) when one exists: VM addresses are allocated by the SDN IPAM. An entry with source 'bridge' (a host Linux bridge like 'vmbr0') only works when the host network offers DHCP; without it the VMs get no IPv4 and the create times out. | |
| storage | No | Optional Proxmox storage pool for the VM disks (from list_proxmox_options). Default: 'local-lvm', auto-picking a usable pool when that default is absent. | |
| template | No | Optional clone-source template (VMID or name) on the requested node. Omit to auto-pick the first available template. | |
| description | No | Optional cluster description. | |
| node_groups | No | Optional heterogeneous worker pools. When provided, worker_count and worker_instance_type are ignored. Each entry creates `count` workers of the given `instance_type` preset with the given labels and taints. | |
| distribution | No | Kubernetes distribution. Default: 'kubeadm'. | |
| worker_count | No | Number of worker nodes when node_groups is not provided. Must be at least 1 unless node_groups is supplied. Default: 1. | |
| credential_id | Yes | UUID of the Proxmox VE credential. | |
| etcd_topology | No | etcd topology. 'external' requires distribution 'kubeadm'. Default: 'stacked'. | |
| etcd_node_count | No | Number of external etcd nodes (3 or 5). Only used when etcd_topology is 'external'. Default: 3. | |
| placement_nodes | No | Optional Proxmox host nodes to spread the Kubernetes VMs across. Two or more unique hosts (the primary node counts) select host-spread placement; omit to keep every VM on 'node'. | |
| etcd_instance_type | No | Instance preset for external etcd nodes. Default: 'px-medium'. | |
| include_networking | No | Publish the Ankra networking stack after bootstrap (disables the k3s-bundled Traefik). Default: true. | |
| kubernetes_version | No | Kubernetes version. If not specified, uses the latest stable version. | |
| control_plane_count | No | Number of control plane nodes (1 or 3 for HA). Default: 1. | |
| worker_instance_type | No | Instance preset for worker nodes when node_groups is not provided. Default: 'px-medium'. | |
| bastion_instance_type | No | Instance preset for the bastion VM. Default: 'px-small'. | |
| ssh_key_credential_id | Yes | UUID of the SSH key credential to authorise on the cluster servers. | |
| control_plane_instance_type | No | Instance preset for control plane nodes. Default: 'px-medium'. |