使用 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 聯絡我們。