Skip to main content

The Kubernetes Platform

The kubernetes platform lays the RAN onto a cluster you run. It installs the same chart every other platform installs, with helm, against your current kube-context, and touches nothing on any host. The node contract is yours to implement; the checklist is Install onto an Existing Kubernetes Cluster.

What the Overlay Decides​

platforms/kubernetes/values.yaml carries platform facts only; image pins come from the released chart.

ValueWhy
crds.enabled: truenothing applies the CRDs out-of-band here; the chart owns them, so helm upgrade upgrades them
racora-node.nvidia.runtimeClass.create: trueno platform component registers RuntimeClass/nvidia; set false if the NVIDIA GPU Operator owns it
racora-cu.controlPlanePin: false, racora-core-open5gs.controlPlanePin: false, racora-controller.controlPlanePin: falsecontrol planes built by kubeadm or CAPI are usually tainted NoSchedule; you pin the CU planes, the core and the controllers with a nodeSelector

The Command It Runs​

helm upgrade --install racora oci://registry.gitlab.com/cognitive-network-solutions/racora/charts/racora \
--namespace default --create-namespace --version X.Y.Z \
-f installer/platforms/kubernetes/values.yaml \
-f installer/cores/<provider>/values.yaml \
-f my-values.yaml \
--set global.systemDefaultRegistry=<registry>

X.Y.Z is the release tag without the leading v, installer/ is the release's installer package, the core provider overlay selects the core, and my-values.yaml is your own file with the placement and the identity (the registry is --set only: it overrides a file) (Install onto an Existing Kubernetes Cluster). The installer builds this command from INSTALL_RACORA_VERSION, INSTALL_RACORA_CORE, RACORA_REGISTRY and RACORA_HELM_EXTRA_ARGS (the place for -f my-values.yaml). It starts from the chart's defaults on every run, so the file is passed every time. The release lives in default like the k3s platform's, so names stay compatible.

For an external core, set global.core.provider and global.core.amfAddr in your values file: the provider overlay carries a placeholder the installer fills from INSTALL_RACORA_AMF_ADDR, plain helm does not, and this platform keeps no record of the provider between runs: an installer re-run without INSTALL_RACORA_CORE reads the deployed release's provider and refuses to switch it silently.

Validation and Uninstall​

The platform refuses an OpenShift cluster and a cluster whose RAN is managed by the k3s platform (a HelmChart racora in kube-system). Its only uninstall scope is ran: the cells and subscribers, the release, the CRDs and the namespaces, unless kept with RACORA_UNINSTALL_KEEP_CRD=1 and RACORA_UNINSTALL_KEEP_DATA=1. Racora did not install this cluster, so host and cluster are refused and the host artifacts you created are yours to remove.