- A DaemonSet to run the Cilium agent on every node
- A DaemonSet to run Envoy (per-node) for L7 functionality
- A Deployment for the cilium-operator (cluster-scoped controller)
- ConfigMaps for agent and Envoy configuration
- ServiceAccounts for each component
- RBAC ClusterRoles and ClusterRoleBindings
- CustomResourceDefinitions (CRDs) used by Cilium (for policies and observability)
DaemonSet: Cilium agent
Cilium requires elevated cluster privileges to watch and manipulate Kubernetes objects (nodes, pods, endpoints, CRDs). Review the RBAC rules before applying manifests in production clusters and follow your security policy for least-privilege access.
- Node-local pods: cilium and cilium-envoy run across nodes via DaemonSets.
- Cluster controller: cilium-operator runs as a Deployment with replicas.
- Configuration: cilium-config and cilium-envoy-config ConfigMaps are created.
- Security: ServiceAccounts and RBAC ClusterRoles/Bindings grant required permissions.
- APIs: Cilium CRDs are registered for policy and resource management.
If you inspect a cluster after installing Cilium, look in the kube-system namespace for DaemonSets (cilium, cilium-envoy), the cilium-operator Deployment, ConfigMaps (cilium-config, cilium-envoy-config), component ServiceAccounts, and multiple Cilium-related CRDs.
-
Cilium CLI
- The Cilium project provides a dedicated CLI (cilium) that generates and applies per-environment manifests.
- The CLI bundles necessary tooling and renders Helm templates internally, so you do not need to install Helm separately.
- See: https://docs.cilium.io/en/stable/gettingstarted/cilium-cli/
-
Helm
- Install Cilium by adding the official Helm repository and deploying the chart for a specific version.
- Helm gives granular control over chart values and integrates naturally with GitOps workflows.
- See: https://github.com/cilium/helm-charts and Helm documentation
Note: The Cilium CLI internally uses Helm templates to render manifests. Whether you install via the CLI or Helm directly, Helm templates are involved in producing the manifests applied to the cluster.
- Cilium documentation: https://docs.cilium.io/
- Cilium CLI getting started: https://docs.cilium.io/en/stable/gettingstarted/cilium-cli/
- Envoy proxy: https://www.envoyproxy.io/
- Kubernetes CRDs: https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/
- Helm: https://helm.sh/docs/