Cilium Breadcrumbs 1
Cilium Breadcrumbs 1
For the ones who don't know Cilium, it's a CNI i.e. Container Network Interface. For mere mortals this means it's the guy who handles the network stuff within Kubernetes.
As you can imagine Kubernetes was built with flexibility in mind, so really a lot of the features it has are plug and play. So different vendors/providers have different solutions. Cilium is one of them which is quite popular because underneath uses eBPF (I'll go into this in the future).
For today's breadcrumb, I'll go just over the main architecture:
- Cilium agent: There is an agent per node, it listens K8s events and API calls to understand networking and security needs. It does stuff like loading eBPF programs into the kernel or handle traffic distribution.
- eBPF: Programs injected by Cilium into the kernel. It does stuff like enforcing security policies.
- Cilium operator: Manages cluster wise operations, e.g. IP Allocation, Cluster Mesh, node management.
- Envoy proxy: It can be separated or within the Cilium agent. It's used for layer 7 stuff (HTTP, gRPC, etc.). One per node.
- Hubble server: One per node, it collects metrics.
- Hubble Relay: One only, it has all Hubble data aggregated, so it's your source of truth regarding observability.
p.s. This post has been manually written; no AI slop