All Courses
Introduction to Cilium
edX
Course
Beginner
Free to Audit
Certificate

Introduction to Cilium

The Linux Foundation

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.

2 hrs/week10 weeksEnglish4,017 enrolled
Free to Audit

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. 3b:T4d

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

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.

Instructors

J

Jef Spaleta

Technical Community Advocate

F

Fazlur Rahman Khan

Technical Trainer

Course Info

PlatformedX
LevelBeginner
PacingUnknown
CertificateAvailable
PriceFree to Audit

Start Learning Now