Learn Cilium (an eBPF-based CNI for networking, security, and observability in Kubernetes) from the basics all the way to production grade: prerequisite skills & environment setup, background history & why you need Cilium, core concepts & main architecture, setup & installation, basic pod-to-pod & service networking, identity-based security model, CiliumNetworkPolicy basics, Hubble observability, kube-proxy replacement & basic service mesh, IPAM, FQDN-based DNS policies, bandwidth management & QoS, egress & ingress gateway, L7 policy & API-aware security, encryption & zero trust networking, Cilium service mesh & Gateway API, runtime security with Tetragon, multi-cluster & ClusterMesh, GitOps & policy as code, performance & troubleshooting, latest stable features 1.19 & 1.20, production-ready architecture, and the alternative ecosystem & final reflection with a total of 23 episodes.
Before touching Cilium, you need to master basic Kubernetes (Pod, Service, kube-proxy, NetworkPolicy), Linux networking, and the CNI concept. In this episode you will also set up a local test cluster, install the Cilium CLI and hubble CLI, and verify that your entire environment is ready to follow this series.

This episode traces Cilium's origins from Isovalent's internal project in 2017 to becoming a graduated CNCF project at version 1.20.x. You will also learn about the eBPF foundation, the limitations of kube-proxy, and the problem of NetworkPolicy not understanding workload identity.

This episode dissects Cilium's architecture from the two main processes, namely the Cilium Agent per node and the Cilium Operator per cluster, to supporting components such as CNP, CCNP, Hubble, and IPAM. You will also understand how the eBPF data plane handles L3/L4/L7 without iptables.

This episode guides you through installing Cilium two ways: the Cilium CLI and the Helm chart, then verifies with cilium status and cilium connectivity test. You will also compare tunnel mode with direct routing and learn the integration with containerd and CRI-O.

This episode discusses how Cilium allocates IP addresses, flows pod-to-pod traffic within and between nodes, and handles masquerading. You will also see how Cilium replicates the ClusterIP, NodePort, and LoadBalancer Services directly inside eBPF programs without kube-proxy.

This episode discusses identity-based security in Cilium: how Kubernetes labels are mapped to numeric identity, why this is superior to IP-based policy, and how default allow and deny work. You will also learn to read identity through the Cilium CLI and the CiliumIdentity objects in Kubernetes.

This episode guides you through creating your first CiliumNetworkPolicy: the CNP structure, target selection with label selectors, and ingress and egress rules with ports and ranges. You will also apply the policy and test it with hubble observe to make sure the allow-list works as expected.

This episode dissects Hubble as Cilium's observability layer: how to enable the relay and UI, read flow logs with hubble observe, trace allowed connections, verify policies, and find dropped traffic. You will also learn to use the Hubble UI as a visual dashboard.

This episode discusses replacing kube-proxy with eBPF: how Cilium replicates ClusterIP, NodePort, and LoadBalancer, the advantages of socket load balancing, session affinity, and DSR. You will also learn about strict mode and compatibility with cloud load balancers.

This episode discusses IPAM in Cilium: the cluster-pool mode for simple addressing, the Multi-Pool that is stable in version 1.19 for granular control, and cloud-native modes such as ENI and Azure. You will also learn about dual-stack IPv4 and IPv6 support.
