|
| 1 | +--- |
| 2 | +title: Customizing Cilium on an OVHcloud Managed Kubernetes cluster |
| 3 | +excerpt: 'Find out how to customize Cilium on an OVHcloud Managed Kubernetes cluster' |
| 4 | +updated: 2025-12-09 |
| 5 | +--- |
| 6 | + |
| 7 | +## Objective |
| 8 | + |
| 9 | +The OVHcloud Managed Kubernetes service provides you with Kubernetes clusters without the hassle of installing or operating them. |
| 10 | + |
| 11 | +The Standard plan of OVHcloud Managed Kubernetes clusters are using [Cilium](https://cilium.io/) as default cni. |
| 12 | + |
| 13 | +The Cilium agent process (a.k.a. DaemonSet) supports setting configuration on a per-node basis. |
| 14 | + |
| 15 | +This allows overriding cilium-config ConfigMap for a node or set of nodes by using `CiliumNodeConfig` objects. |
| 16 | + |
| 17 | +> [!warning] |
| 18 | +> Without using `CiliumNodeConfig` object it will not be possible to update cilium-config ConfigMap. |
| 19 | +
|
| 20 | +## What is CiliumNodeConfig |
| 21 | + |
| 22 | +As stated in [cilium documentation](https://docs.cilium.io/en/stable/configuration/per-node-config/#ciliumnodeconfig-objects). |
| 23 | + |
| 24 | +A `CiliumNodeConfig` object allows for overriding ConfigMap / Agent arguments. |
| 25 | + |
| 26 | +It consists of a set of fields and a label selector. The label selector defines to which nodes the configuration applies. |
| 27 | + |
| 28 | +As is the standard with Kubernetes, an empty LabelSelector (e.g. {}) selects all nodes. |
| 29 | + |
| 30 | +## Requirements |
| 31 | + |
| 32 | +- An OVHcloud Managed Kubernetes cluster with standard plan. |
| 33 | + |
| 34 | +## Customization example |
| 35 | + |
| 36 | +### Enable topology aware routing for 3AZ region |
| 37 | + |
| 38 | +> [!note] |
| 39 | +> To discover this feature you can read [Discover Kubernetes 1.33 features – Topology aware routing in multi-zones Kubernetes clusters](https://blog.ovhcloud.com/discover-kubernetes-1-33-features-topology-aware-routing-in-multi-zones-kubernetes-clusters/) By [Aurélie Vache](https://blog.ovhcloud.com/author/aurelie-vache/). |
| 40 | +
|
| 41 | +To enable it on cilium side, apply this configuration of `CiliumNodeConfig`. |
| 42 | + |
| 43 | +```yaml |
| 44 | +apiVersion: cilium.io/v2 |
| 45 | +kind: CiliumNodeConfig |
| 46 | +metadata: |
| 47 | + namespace: kube-system |
| 48 | + name: enable-service-topology |
| 49 | +spec: |
| 50 | + nodeSelector: {} |
| 51 | + defaults: |
| 52 | + enable-service-topology: "true" |
| 53 | +``` |
| 54 | +
|
| 55 | +Then restart the cilium agent. |
| 56 | +
|
| 57 | +```bash |
| 58 | +kubectl -n kube-system rollout restart daemonset cilium |
| 59 | +``` |
| 60 | + |
| 61 | +Check if the configuration as been applied. |
| 62 | + |
| 63 | +```bash |
| 64 | +kubectl -n kube-system logs $(kubectl -n kube-system get pod -l k8s-app=cilium -o name) | head -n 500 | grep enable-service-topology |
| 65 | + |
| 66 | +time=2025-12-09T15:57:06.161145191Z level=info msg=" --config-sources='[{\"kind\":\"config-map\",\"namespace\":\"kube-system\",\"name\":\"cilium-config\"},{\"kind\":\"cilium-node-config\",\"namespace\":\"kube-system\",\"name\":\"enable-service-topology\"}]'" |
| 67 | +time=2025-12-09T15:57:06.165626171Z level=info msg=" --enable-service-topology='true'" |
| 68 | +``` |
| 69 | + |
| 70 | +## CiliumNodeConfig possible values |
| 71 | + |
| 72 | +You can retrieve all keys / values in the cilium-configmap file of the [Cilium](https://github.com/cilium/cilium/blob/main/install/kubernetes/cilium/templates/cilium-configmap.yaml) github repository. |
| 73 | + |
| 74 | +> [!warning] |
| 75 | +> Be aware that some keys could need some feature enablement in the cilium operator which could be disabled by default |
| 76 | +
|
| 77 | +## Go further |
| 78 | + |
| 79 | +To have an overview of the OVHcloud Managed Kubernetes service, you can go to the [OVHcloud Managed Kubernetes page](/links/public-cloud/kubernetes). |
| 80 | + |
| 81 | +To learn more about how to use your Kubernetes cluster the practical way, we invite you to read our [tutorials](/products/public-cloud-containers-orchestration-managed-kubernetes-k8s). |
| 82 | + |
| 83 | +- If you need training or technical assistance to implement our solutions, contact your sales representative or click on [this link](/links/professional-services) to get a quote and ask our Professional Services experts for assisting you on your specific use case of your project. |
| 84 | + |
| 85 | +- Join our [community of users](https://community.ovh.com/en/). |
0 commit comments