檢視次數:
設定檔適用性:級別 1
當您在 Kubernetes 中運行現代的微服務架構應用程式時,通常希望控制哪些元件可以相互通信。應將最小權限原則應用於 Azure Kubernetes Service (AKS) 叢集中 pod 之間的流量。假設您可能希望封鎖直接到後端應用程式的流量。Kubernetes 中的網路策略功能允許您定義叢集中 pod 之間的進出流量規則。
預設情況下,AKS 叢集中的所有 pod 都可以不受限制地發送和接收流量。為了提高安全性,您可以定義控制流量流向的規則。例如,後端應用程式通常只對所需的前端服務開放,或者資料庫元件僅對連接到它們的應用程式層可訪問。
網路政策是 Kubernetes 的一項規範,用於定義 Pod 之間通訊的存取政策。使用網路政策,您可以定義一組有序的規則來發送和接收流量,並將其應用於符合一個或多個標籤選擇器的 Pod 集合。
這些網路政策規則被定義為 YAML 清單。網路政策可以作為更廣泛清單的一部分,該清單還會創建部署或服務。
注意
注意
預設情況下,網路政策已關閉。

影響

網路政策需要網路政策附加元件。當建立具有網路政策的叢集時,會自動包含此附加元件,但對於現有的叢集,需要在啟用網路政策之前添加。
啟用/停用網路政策會導致所有叢集節點進行滾動更新,類似於執行叢集升級。此操作是長時間運行的,並且會封鎖叢集上的其他操作(包括刪除),直到完成為止。
如果使用網路政策,叢集必須至少有 2 個 n1-standard-1 或更高類型的節點。執行 Policy enforcement 的建議最小叢集規模是 3 個 n1-standard-1 實例。
啟用網路 Policy enforcement 會消耗節點中的額外資源。具體來說,這會使 kube-system 進程的記憶體佔用增加約 128MB,並需要大約 300 毫核的 CPU。

稽核

檢查以下項目是否不為空並設定適當的群組 ID:
export CLUSTER_NAME=<your cluster name>
az aks show --name ${CLUSTER_NAME} --resource-group ${RESOURCE_GROUP} 
--query "networkProfile.networkPolicy"

矯正性處理

利用 Calico 或其他網路策略引擎來分段和隔離您的流量。