Infrastructure cluster control plane
Universe requires a Kubernetes control plane to be able to run Universe Infrastructure components.
This document describes requirements for Kubernetes control plane. Once the control plane is available, install Universe Infrastructure components using the Helm charts.
Kubernetes’ primary network should be the same as the DPUs’ uplinks network. For Infiniband, the primary network should be on DPUs’ management port network. The DPU management port network should be accessible from control plane for BMC provisioning.
Universe includes Ironic component, who runs in the host network mode; it requires to reserve ports 5050, 6385, 8080, 67, 68 and 69 on the host to provide service.
During DPU provisioning, the following components/servers maybe used:
NTP Server: ntp server is used to synchronize time between DPU & Control Plane; configurable by helm during installation, default value is “time.google.com”
Image Registry: for on-prem environment, image registry is required for DPU to download container images when deploying services; configurable by helm during installation, default value is empty for internet
In order to be able to use an existing Kubernetes control plane for DCM Infrastructure, the following requirements must be met:
Kubernetes version: 1.24 and above.
Carefully check the document describing the maximum version skew supported between various Kubernetes components.
If Cluster API is installed:
core: cluster-api: v1.2.2 and above
bootstrap: kubeadm v1.2.2 and above
control plane: kubeadm v1.2.2 and above
Infrastructure: metal3 v1.2.0 and above
System setup should meet 1. System requirements.
To install a new Kubernetes cluster follow Create Kubernetes cluster with Kubespray doc.
For DPU provisioning, CAPI components are required.
curl -L https://github.com/kubernetes-sigs/cluster-api/releases/download/v1.2.1/clusterctl-linux-amd64 -o clusterctl
chmod +x ./clusterctl
sudo mv ./clusterctl /usr/local/bin/clusterctl
clusterctl init --core cluster-api:v1.2.2 --bootstrap kubeadm:v1.2.2 --control-plane kubeadm:v1.2.2 -v5 --infrastructure metal3:v1.2.0