設定檔適用性:等級 1
當您在 Kubernetes 中運行現代、基於微服務的應用程式時,通常希望控制哪些元件可以相互通信。應將最小權限原則應用於 Azure Kubernetes Service
(AKS) 叢集中 pod 之間的流量。Kubernetes 中的網路策略功能可讓您定義叢集中 pod 之間的進入和流出流量規則。
在預設情況下,AKS Cluster 中的所有 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 或其他網路策略引擎來分段和隔離您的流量。
