eBPF

Installation using kubeadm

This section describes deploying Cilium on a Kubernetes cluster created with kubeadm.

Create the cluster

Note: If you want to use Cilium’s kube-proxy replacement, kubeadm needs to skip the kube-proxy deployment phase, so it has to be executed with the —skip-phases=addon/kube-proxy option:

kubeadm init --skip-phases=addon/kube-proxy

For more information please refer to the Kubernetes Without kube-proxy guide.

Deploy Cilium

Note: Make sure you have Helm 3 installed. Helm 2 is no longer supported. Setup Helm repository:

helm repo add cilium https://helm.cilium.io/

Deploy Cilium release via Helm:

helm install cilium cilium/cilium --version 1.13.3 --namespace kube-system

Validate the Installation

Cilium CLI

Install the latest version of the Cilium CLI. The Cilium CLI can be used to install Cilium, inspect the state of a Cilium installation, and enable/disable various features (e.g. clustermesh, Hubble).

CILIUM_CLI_VERSION=$(curl -s https://raw.githubusercontent.com/cilium/cilium-cli/master/stable.txt)
CLI_ARCH=amd64
if [ "$(uname -m)" = "aarch64" ]; then CLI_ARCH=arm64; fi
curl -L --fail --remote-name-all https://github.com/cilium/cilium-cli/releases/download/${CILIUM_CLI_VERSION}/cilium-linux-${CLI_ARCH}.tar.gz{,.sha256sum}
sha256sum --check cilium-linux-${CLI_ARCH}.tar.gz.sha256sum
sudo tar xzvfC cilium-linux-${CLI_ARCH}.tar.gz /usr/local/bin
rm cilium-linux-${CLI_ARCH}.tar.gz{,.sha256sum}

To validate that Cilium has been properly installed, you can run

$ cilium status --wait
   /¯¯\
/¯¯\__/¯¯\    Cilium:         OK
\__/¯¯\__/    Operator:       OK
/¯¯\__/¯¯\    Hubble:         disabled
\__/¯¯\__/    ClusterMesh:    disabled
   \__/
 
DaemonSet         cilium             Desired: 2, Ready: 2/2, Available: 2/2
Deployment        cilium-operator    Desired: 2, Ready: 2/2, Available: 2/2
Containers:       cilium-operator    Running: 2
                  cilium             Running: 2
Image versions    cilium             quay.io/cilium/cilium:v1.9.5: 2
                  cilium-operator    quay.io/cilium/operator-generic:v1.9.5: 2

Run the following command to validate that your cluster has proper network connectivity:

$ cilium connectivity test
ℹ️  Monitor aggregation detected, will skip some flow validation steps
✨ [k8s-cluster] Creating namespace for connectivity check...
(...)
---------------------------------------------------------------------------------------------------------------------
📋 Test Report
---------------------------------------------------------------------------------------------------------------------
✅ 69/69 tests successful (0 warnings)

Congratulations! You have a fully functional Kubernetes cluster with Cilium.

Reference List

  1. https://github.com/cilium/cilium
  2. https://docs.cilium.io/en/stable/installation/k8s-install-kubeadm/
  3. https://mp.weixin.qq.com/s?__biz=MzI4NjY0MDA4Mg==&mid=2247485952&idx=1&sn=b3a58b743a4142418bf2ec3b1406e9ef&chksm=ebd898bddcaf11ab075148b7126f40512d93c592807c34f82ef7b1247bcc3a9664bb9092274b&mpshare=1&scene=1&srcid=0805AU65xeDUBkzwtPEHecY3&sharer_shareinfo=26302fb628bb9c7c5fae44d8184d36a3&sharer_shareinfo_first=26302fb628bb9c7c5fae44d8184d36a3&exportkey=n_ChQIAhIQ9%2FDFQR92nQTZlpbOtrVaGhKcAgIE97dBBAEAAAAAALHmOmmtctkAAAAOpnltbLcz9gKNyK89dVj0jeSOZG45KBqQR5rWOr%2BxoZKyyZSd006W46l%2BOK391ybORyhQIFeMWzRKpjI%2BW3lyEcRXozeVhueM5cJmv3oZTIkWZa0tpUsPX%2B5NH26wuclSWck208GZW9WpBY32NISlG%2BQIY9Sis95jnQGSYqjpxYmjphpm552fMZ39BGuOn9agfNruhnxnov59tRTDbCvViYtUKOLh2KFhiF0cRDs2ifhswVdkhqUH3B9uRvF2HFxmDt5IQSS1osz1Mxc6M3fLeIRRI2s3wjOC8cY35d6m2AE4wPfb9j8cHzYPTOdbfL61Zohz5mdpXH6Csxp%2Babjs8eVOWIw%2B&acctmode=0&pass_ticket=t6WYaKtXhrDcAf3s0K%2FiMGoIv7I2pV29yCJI%2BzRvcYbHsuJboxK4PEyNFK4NYwDX&wx_header=0#rd