Skip to main content
In this lesson we cover how to install Cilium using Helm: adding the chart repository, customizing the installation with a values file, applying any required CRDs, and verifying the deployed resources.
A blue-green gradient slide with the title "Installing Cilium With Helm" centered. A small "© Copyright KodeKloud" notice appears in the bottom-left corner.

Quick workflow

  1. Add the Cilium Helm repository to your local Helm configuration.
  2. (Optional) Dump and edit the chart defaults into a values.yaml to customize behavior.
  3. Ensure CRDs required by the chart are installed (some chart versions separate CRDs).
  4. Install the Cilium chart into the target namespace (create it or use —create-namespace).
  5. Inspect the rendered manifests and verify Kubernetes resources are running.

Prerequisites

  • Helm v3 installed and configured.
  • kubectl configured for the target cluster.
  • Sufficient cluster privileges (cluster-admin or equivalent) to create cluster-scoped resources and CRDs.

Add the Cilium Helm repository and prepare values

Run these commands to add the official Cilium chart repo and fetch the default values for editing:
# Add the Cilium Helm repository
helm repo add cilium https://helm.cilium.io

# Update local repo cache
helm repo update

# (Optional) Dump chart default values so you can edit them
helm show values cilium/cilium > values.yaml
  • Edit values.yaml to customize things like operator settings, IPAM mode, enabling Hubble, kube-proxy replacement, node init settings, or image overrides.
  • If you want the chart defaults, skip creating or editing values.yaml and install directly.

CRDs: important note

Some Cilium chart versions separate CRDs from the main chart. If the chart requires CRDs to be installed separately, apply the CRD manifests or install the cilium-crds chart before installing the main cilium chart. Helm’s automatic CRD handling can vary by chart version.
If the chart provides a cilium-crds chart or CRD manifests, install/apply them first. Example (if provided by the chart):
# Example: install CRDs separately if the chart exposes them
helm install cilium-crds cilium/cilium-crds --namespace kube-system --create-namespace
# or apply CRD manifests provided by the chart repository
kubectl apply -f https://raw.githubusercontent.com/cilium/cilium/<version>/install/kubernetes/00-crds.yaml

Install the Cilium chart

Install Cilium into the kube-system namespace (or your preferred namespace). Create the namespace first or use —create-namespace:
# Install Cilium in the kube-system namespace, using any customizations from values.yaml
helm install cilium cilium/cilium --namespace kube-system -f values.yaml
# OR (create namespace automatically)
helm install cilium cilium/cilium --namespace kube-system --create-namespace -f values.yaml
You can omit -f values.yaml to use the chart defaults.

Inspect the generated manifests and verify resources

To review what Helm rendered and applied:
# Show the final manifest rendered by Helm for the release "cilium"
helm get manifest cilium -n kube-system
To examine live Kubernetes resources created by the chart:
# List Cilium pods and related resources (label may vary by chart version)
kubectl get pods,ds,svc -n kube-system -l k8s-app=cilium

# If that label does not match your installation, list all resources in the namespace
kubectl get all -n kube-system

# Check CRDs created for Cilium
kubectl get crds | grep cilium

Common commands reference

TaskCommand / Example
Add Cilium Helm repohelm repo add cilium https://helm.cilium.io
Show chart default valueshelm show values cilium/cilium > values.yaml
Install Ciliumhelm install cilium cilium/cilium --namespace kube-system -f values.yaml
Get rendered manifesthelm get manifest cilium -n kube-system
List Cilium workloadskubectl get pods,ds,svc -n kube-system -l k8s-app=cilium
Verify CRDs`kubectl get crdsgrep cilium`
You can skip creating a values.yaml to use all chart defaults, or generate and edit the values.yaml to apply non-default configuration changes before installing.
Ensure you have appropriate cluster permissions (cluster-admin or equivalent) when installing Cilium, since it creates cluster-wide resources and CRDs.

Watch Video