- Update via Helm (recommended when Cilium was installed with Helm).
- Edit the Cilium ConfigMap directly (useful for quick runtime changes or when Helm was not used).

1 — Verify cluster and Cilium installation
Confirm cluster nodes:Quick comparison: Helm vs ConfigMap editing
| Resource Type | Use Case | Recommended when |
|---|---|---|
| Helm values + helm upgrade | Persistent, repeatable configuration changes tracked by Helm | Cilium installed with Helm; you want changes preserved across upgrades |
| Edit cilium-config ConfigMap | Immediate runtime tweaks or when Helm was not used | Quick tests or clusters without Helm-managed Cilium (note: may be overwritten by Helm) |
2 — Update configuration via Helm (recommended)
- Export or open the
values.yamlyou used for the Helm release and change the values you want.
Example: enable debug logging by changing:
- Confirm the Helm release and namespace (Cilium commonly lives in
kube-system):
- Apply the updated values with
helm upgrade. The-n(namespace) flag must match the existing release:
3 — Update configuration by editing the ConfigMap directly
Cilium stores many runtime options in thecilium-config ConfigMap in the kube-system namespace. Use this method for quick runtime changes or when Cilium was not installed with Helm.
Inspect whether a specific flag (e.g., debug) is set:
data: section. Example — disable IPv6:
Before:
If Cilium is managed by Helm, the
cilium-config ConfigMap may be owned by the Helm release. Direct edits with kubectl can be overwritten by future helm upgrade or helm rollback actions. Prefer updating Helm values when possible or coordinate ConfigMap edits with your Helm values.4 — Restart Cilium components so changes take effect
After modifying the ConfigMap (or after a Helm upgrade), restart the operator and agent so they pick up the new configuration. Restart the operator (Deployment) and the agent (DaemonSet):Running status. Init containers may take a short while to complete.
After changing the Cilium ConfigMap, you must restart the operator and agent pods so the new configuration is applied.
5 — Verify the change (example: confirm IPv6 disabled)
Create a test pod:Troubleshooting tips
- If changes do not appear to apply:
- Verify you edited the correct ConfigMap and namespace.
- Confirm the Cilium Helm release is not overwriting settings (check
helm get values <release> -n <ns>). - Check operator and agent logs for errors:
- For transient issues after restart, allow a few minutes for init containers and datapath programs to reinitialize.
Summary
- Prefer updating the Helm
values.yamland runninghelm upgradewhen Cilium was installed with Helm—this preserves configuration in the release. - Editing the
cilium-configConfigMap is useful for quick runtime changes or on clusters where Cilium was not installed with Helm. After editing, restart thecilium-operatordeployment and theciliumdaemonset so changes take effect. - Always validate changes by creating test pods and checking their assigned IPs and Cilium logs.