使用 Cilium 進行 NetworkPolicy

本頁說明如何使用 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 接著會自動偵測叢集組態,並建立與安裝適當的元件以進行成功的安裝。元件如下

  • 憑證授權機構 (CA) 在密鑰 cilium-ca 中,以及 Hubble (Cilium 的可觀測性層) 的憑證。
  • 服務帳戶。
  • 叢集角色。
  • ConfigMap。
  • Agent DaemonSet 與 Operator 部署。

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

入門指南的其餘部分說明如何使用範例應用程式強制執行 L3/L4 (即 IP 位址 + 連接埠) 安全性政策,以及 L7 (例如 HTTP) 安全性政策。

部署 Cilium 以用於生產環境

如需關於部署 Cilium 以用於生產環境的詳細指示,請參閱:Cilium Kubernetes 安裝指南 此文件包含詳細的需求、指示與範例生產環境 DaemonSet 檔案。

了解 Cilium 元件

使用 Cilium 部署叢集會將 Pod 新增至 kube-system 命名空間。若要查看此 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 頻道 與我們聯絡。

上次修改時間為 2023 年 2 月 22 日下午 6:25 PST:修正 Cilium Kubernetes 安裝指南連結 (2a2c5cc2fb)