Skip to content

Kubernetes CLI

Magnum · OpenStack CLI · python-magnumclient

Create and manage Kubernetes clusters, node groups, and cluster templates from the command line.

Clusters

openstack coe cluster listList Kubernetes clusters
openstack coe cluster show <name|id>Show cluster details
openstack coe cluster create --cluster-template <tmpl> --node-count <n> <name>Create a cluster
openstack coe cluster delete <name|id>Delete a cluster
openstack coe cluster config <name|id>Download kubeconfig
openstack coe cluster resize <name|id> <node-count>Resize worker nodes

Node Groups

openstack coe nodegroup list <cluster>List node groups
openstack coe nodegroup show <cluster> <nodegroup>Show node group details
openstack coe nodegroup create --node-count <n> --flavor <f> <cluster> <name>Create a node group
openstack coe nodegroup delete <cluster> <nodegroup>Delete a node group

Cluster Templates

openstack coe cluster template listList available templates
openstack coe cluster template show <name|id>Show template details

Common flags: coe cluster create

--cluster-template <name|id>Base template (defines K8s version, networking, etc.)
--node-count <n>Number of worker nodes
--master-count <n>Number of master nodes (1 or 3 for HA)
--keypair <name>SSH key for node access
--flavor <name|id>Worker node flavor
--master-flavor <name|id>Master node flavor
--docker-volume-size <GB>Size of Docker volume on each node
--labels <key=value,...>Cluster labels (e.g., auto_scaling_enabled=true)

Examples

Create a cluster and get kubeconfig

# List available templates
openstack coe cluster template list
# +------+------------------+
# | uuid | name             |
# +------+------------------+
# | ...  | k8s-v1.27-flannel|
# +------+------------------+

# Create a 3-node cluster
openstack coe cluster create \
  --cluster-template k8s-v1.27-flannel \
  --node-count 3 \
  --master-count 1 \
  --keypair my-laptop \
  --flavor r1.medium \
  --docker-volume-size 50 \
  my-k8s-cluster

# Check status (takes ~10 minutes)
openstack coe cluster show my-k8s-cluster -c status
# status: CREATE_COMPLETE

# Download kubeconfig
openstack coe cluster config my-k8s-cluster
# Config written to ~/kubeconfig
export KUBECONFIG=~/kubeconfig
kubectl get nodes

Scale the cluster

# Add worker nodes
openstack coe cluster resize my-k8s-cluster 5

# Or add a GPU node group
openstack coe nodegroup create \
  --node-count 2 \
  --flavor r1.gpu-large \
  my-k8s-cluster gpu-workers

Quake AI tips

Cluster creation time

Expect 8-12 minutes for cluster creation. The CLI returns immediately; use openstack coe cluster show to poll status.

Template selection

Templates define the Kubernetes version and CNI plugin. Use openstack coe cluster template show to inspect details before creating.

Kubeconfig path

By default, coe cluster config writes to the current directory. Set KUBECONFIG explicitly to avoid overwriting existing configs.

Related