Skip to main content

LinuxFoundationX: Introduction to Cilium

Get a practical introduction to using Cilium as the networking plug-in for Kubernetes, including installation, observability with Hubble, securing network connections, and multi-cluster support - all based on eBPF for scalability, performance, and security.

Introduction to Cilium
10 weeks
2–3 hours per week
Self-paced
Progress at your own speed
Free
Optional upgrade available

There is one session available:

After a course session ends, it will be archivedOpens in a new tab.
Starts Apr 24
Ends Nov 21

About this course

Skip About this course

When you deploy Kubernetes, you need to install a networking plug-in implementing the Container Networking Interface (CNI) to provide connectivity between workloads. Cilium is a popular and widely-deployed CNI solution that is now the default across many Kubernetes distributions and cloud provider offerings.

In this course, you will learn the basics of Cilium and how it can be used to connect, observe, and secure Kubernetes clusters. We will start by reviewing Kubernetes container networking and its challenges. We’ll move on to discussing the architecture of Cilium and how it uses eBPF to address those challenges. eBPF is a Linux technology that allows changing the kernel’s behavior through dynamically loaded custom programs. We’ll provide an overview of what eBPF is and how Cilium uses it to benefit cloud native networking.

We will provide a step-by-step guide for installing and setting up Cilium as your CNI. Once installed, we will show how to configure basic network policies to secure your network and how we can use Hubble to observe these network flows. Finally, we will discuss some of the commonly used features of Cilium, such as support for FQDN-based and L7 protocol-aware network policies, and cluster mesh networking.

By the end of this course, you will understand how Cilium and Hubble work and how they can be used to connect, observe, and secure your cloud native environments.

At a glance

  • Institution: LinuxFoundationX
  • Subject: Computer Science
  • Level: Introductory
  • Prerequisites:

    Learners should have some familiarity with Kubernetes operations and have basic experience using the kubectl tool. The course assumes that students are comfortable with basic Kubernetes concepts such as pods, nodes, services and clusters. To make the most of this course, we highly recommend the free Introduction to Kubernetes (LFS158x) course available on edX, which covers these prerequisites.

    It is sufficient to have used minikube or kind to deploy a demo microservice application in a development cluster environment.

    The hands-on exercises require a Kubernetes cluster pre-provisioned without a CNI plugin. The cluster hosts must be using a linux kernel with socket load balancing support (kernel versions v4.19.57, v5.1.16, v5.2.0 or more recent). The learners’ primary system should have the helm, kubectl and curl commands available.

    All exercises have been tested using local development clusters based on Kind (v0.17.0) and minikube (v1.26.1) as well as Azure’s AKS service. You can find instructions for setting up a kubernetes cluster that meets the requirements in the Cilium.io documentation.

  • Language: English
  • Video Transcript: English

What you'll learn

Skip What you'll learn
  • Describe Kubernetes networking and its challenges

  • Discuss Cilium’s architecture and how it leverages eBPF

  • Install Cilium and Hubble and verify their operational status

  • Craft L3-L7 and DNS based Cilium Network Policy to secure Kubernetes network connectivity

  • Use Hubble to observe network flows

  • Enhance your network observability by enabling Cilium Prometheus metrics and integrating those metrics into Grafana dashboards

  • Configure Cilium to provide transparent encryption of network traffic

  • Learn how you can replace kube-proxy with Cilium

  • Configure Cilium for cluster mesh operation to connect multiple Kubernetes clusters

  • Welcome!
  • Ch1. Introduction to Kubernetes Networking Concepts
  • Ch2. Introduction to Cilium and eBPF
  • Ch3. Cilium Network Policy In-Depth
  • Ch4. Introduction to Hubble
  • Ch5. Node to Node Transparent Encryption
  • Ch6. kube-proxy and Kubernetes Service Networking
  • Ch7. Replacing Kube-Proxy with Cilium
  • Ch8. Introduction to Cilium Cluster Mesh
  • Final Exam (verified track only)

Interested in this course for your business or team?

Train your employees in the most in-demand topics, with edX For Business.