使用 Cilium 進行網路策略

本頁面展示瞭如何使用 Cilium 來實現 NetworkPolicy。

有關 Cilium 的背景資訊,請閱讀 Cilium 簡介

準備工作

你需要擁有一個 Kubernetes 叢集,並且 kubectl 命令列工具已配置為與你的叢集通訊。建議在至少有兩個不是控制平面主機節點的叢集上執行本教程。如果你還沒有叢集,可以使用 minikube 建立一個,或者使用這些 Kubernetes 遊樂場之一

要檢查版本,請輸入 kubectl version

在 Minikube 上部署 Cilium 進行基本測試

要輕鬆熟悉 Cilium,你可以按照 Cilium Kubernetes 入門指南 在 minikube 中執行 Cilium 的基本 DaemonSet 安裝。

要啟動 minikube,所需的最低版本為 >= v1.5.2,請使用以下引數執行

minikube version
minikube version: v1.5.2
minikube start --network-plugin=cni

對於 minikube,你可以使用其 CLI 工具安裝 Cilium。為此,首先使用以下命令下載 CLI 的最新版本

curl -LO https://github.com/cilium/cilium-cli/releases/latest/download/cilium-linux-amd64.tar.gz

然後使用以下命令將下載的檔案解壓到你的 /usr/local/bin 目錄

sudo tar xzvfC cilium-linux-amd64.tar.gz /usr/local/bin
rm cilium-linux-amd64.tar.gz

執行上述命令後,你現在可以使用以下命令安裝 Cilium

cilium install

Cilium 將自動檢測叢集配置,並建立和安裝成功安裝所需的相應元件。這些元件是

  • 秘密 cilium-ca 中的證書頒發機構 (CA) 以及 Hubble(Cilium 的可觀測性層)的證書。
  • 服務帳戶。
  • 叢集角色。
  • ConfigMap。
  • Agent DaemonSet 和 Operator Deployment。

安裝完成後,你可以使用 cilium status 命令檢視 Cilium 部署的總體狀態。請參閱 此處status 命令的預期輸出。

入門指南的其餘部分解釋瞭如何使用示例應用程式強制執行 L3/L4(即 IP 地址 + 埠)安全策略以及 L7(例如 HTTP)安全策略。

部署 Cilium 用於生產

有關部署 Cilium 用於生產的詳細說明,請參閱:Cilium Kubernetes 安裝指南。此文件包括詳細的要求、說明和示例生產 DaemonSet 檔案。

瞭解 Cilium 元件

使用 Cilium 部署叢集會在 kube-system 名稱空間中新增 Pod。要檢視此 Pod 列表,請執行

kubectl get pods --namespace=kube-system -l k8s-app=cilium

你將看到一個類似於此的 Pod 列表

NAME           READY   STATUS    RESTARTS   AGE
cilium-kkdhz   1/1     Running   0          3m23s
...

一個 cilium Pod 在叢集中的每個節點上執行,並使用 Linux BPF 對該節點上 Pod 的進出流量強制執行網路策略。

下一步

叢集執行後,你可以按照 宣告網路策略 嘗試使用 Cilium 實現 Kubernetes NetworkPolicy。玩得開心,如果你有問題,請透過 Cilium Slack Channel 聯絡我們。

上次修改時間:2023 年 2 月 22 日太平洋標準時間下午 6:25:修復 Cilium Kubernetes 安裝指南連結 (2a2c5cc2fb)