K8sControlplane
K8sControlplane orchestrates a Kubernetes control plane on a host cluster via the k3s-server block, covering installation, IPAM, DNS, join tokens and soft-delete, and yields a linked K8sCluster object.
K8sControlplane
K8sControlplane orchestrates a Kubernetes control plane on a host cluster
via the block ayedo/k8s/k3s-server
(installation, IPAM, DNS, join token, soft-delete), following the same pattern as the LoadBalancer.
The outcome is a linked K8sCluster object.
Host cluster / foundation: block ayedo/linux/k8s-1.27, represented in the API as a Region. Distro documentation: k3s-server.
Capabilities
| Area | Content |
|---|---|
| Installation | Block-based via Block Rollout |
| IPAM | Prefix with region and purpose=controlplane |
| DNS | System/zone integration for control plane hostnames |
| Join | Detail tab with join information / token |
| Lifecycle | Soft-delete + cleanup via rollout uninstall |
Architectural Principle
As with the LBI, single-writer partitioning applies:
- Control plane reconciliation sets the desired state and enqueues block actions
- The BlockRollout scheduler executes install/uninstall
- Completion hooks update the owner (
on_block_rollout_item_complete)
Waves are separated from LBI waves via managed_by — control plane and load balancer installs
do not block each other.
Prerequisites
- Target Region with a suitable workspace/cluster context
- IPAM prefix for the control plane
- Block templates / BRC configuration for the control plane components