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.
| Value | Why |
|---|---|
crds.enabled: true | nothing applies the CRDs out-of-band here; the chart owns them, so helm upgrade upgrades them |
racora-node.nvidia.runtimeClass.create: true | no 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: false | control 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.