Skip to content

Workload Clusters

User-facing Kubernetes clusters provisioned by the management cluster via Cluster API. Workers always run on OpenStack VMs (CAPO), but the control plane offers two options.

Control plane options

ClusterClassControl planeWhere it runsWhen to use
openstack-defaultKubeadmControlPlaneDedicated OpenStack VMs (3 CP nodes)Full VM isolation, traditional HA
openstack-kamajiKamajiControlPlanePods in the management clusterResource-efficient, high cluster density

Kamaji

Kamaji runs the tenant Kubernetes control plane (API server, controller manager, scheduler) as pods inside the management cluster, with etcd stored in a Kamaji-managed datastore. This eliminates the need for dedicated control-plane VMs: no VM boot cycle, no cloud-init, no CP flavor costs. More clusters can be hosted on the same infrastructure because the overhead per cluster is just a few pods, not three VMs. Workers are still provisioned on OpenStack via CAPO, identical to the openstack-default class.

The trade-off is that the control plane shares the management cluster's fate — a management cluster outage affects all Kamaji-hosted tenant control planes. For clusters that need full VM isolation of the control plane, openstack-default is the better choice.

Multitenancy and isolation

Each workload cluster gets a fully independent Kubernetes control plane — separate etcd, API server, RBAC, and network policy. On top of that, OpenStack adds a second layer of isolation:

  • Project isolation — each cluster can be placed in its own OpenStack project, with independent quotas, users, and resource boundaries.
  • Network isolation — Neutron networks, security groups, and routers are scoped per-project, so traffic between clusters is separated at the virtual network layer even before Kubernetes network policies apply.

The combination gives strong multitenancy: Kubernetes RBAC controls who can do what inside a cluster, while OpenStack project and network isolation controls what infrastructure resources a cluster can reach.

Open source infrastructure documentation