Kubernetes Architecture
The Kubernetes cluster is designed for High Availability and resilience.
Nodes
The lucy, makise, and quinn profiles are specifically dedicated to hosting the baremetal Kubernetes cluster that forms the foundation for OpenStack. The control plane consists of three specific nodes defined in the Hephaestus repository:
| Node | Profile | IP Address | Role |
|---|---|---|---|
| Lucy | profiles/lucy | 10.0.0.2 | Control Plane / Bootstrap Node |
| Makise | profiles/makise | 10.0.0.3 | Control Plane |
| Quinn | profiles/quinn | 10.0.0.4 | Control Plane |
High Availability
API Server VIP
- Virtual IP:
10.0.0.5 - Implementation:
kube-vipruns as a static pod on all control plane nodes.
Configuration
The kubeadm configuration is pre-generated by NixOS at /etc/kubernetes/kubeadm/bootstrap.yaml.
Key Settings
- Cluster Name:
openstack - Kubernetes Version:
v1.35.0 - Pod CIDR:
10.244.0.0/16 - Service CIDR:
10.96.0.0/20 - Taints: None (Control plane nodes can schedule workloads).
- Proxy:
kube-proxyis disabled (skip phases), hinting at a replacement CNI like Cilium.
