網路安全性群組
本頁面說明並列出 GKE on Azure Azure 網路安全性群組 (NSG) 的必要條件。
本頁內容適用於想要安裝、設定及支援網路設備的網路專家。如要進一步瞭解內容中提及的常見角色和範例工作,請參閱「常見的 GKE Enterprise 使用者角色和工作」。 Google Cloud
受管理的 NSG
Azure 上的 GKE 會管理附加至每個虛擬機器 (VM) 執行個體虛擬網路介面卡 (NIC) 的 NSG。如要進一步控管網路流量,可以為子網路新增其他 NSG。
Azure 上的 GKE 會自動管理必要的 NSG 規則。並移除不再需要的規則。GKE on Azure 也會根據 Kubernetes 服務設定修改規則。舉例來說,當您新增 LoadBalancer
類型的 Kubernetes 服務時,Azure 上的 GKE 會新增對應的 NSG 規則。
規則優先順序
Azure NSG 規則優先順序的範圍介於 100 到 4096 之間。優先順序數字越小,優先順序越高。
根據設計,Azure 上的 GKE 只會管理優先順序為 500 以上的 NSG 規則。因此,如要實作特定規則或建立其他規則,可以使用優先順序介於 100 到 499 之間的 NSG。
Azure 會依序處理規則,從優先順序編號最低的規則開始,然後依序處理編號較高的規則。建立新規則時,請務必選擇 100 到 499 範圍內的規則優先順序,以免與現有的 Anthos NSG 規則發生衝突。
應用程式安全群組
GKE on Azure 會建立兩個應用程式安全群組 (ASG),套用至控制層和工作站節點的虛擬 NIC。Azure 上的 GKE 會自動更新 ASG,例如在您將新節點集區新增至叢集時。建立 NSG 規則時,可以使用這些 ASG。
NSG 和控制層 ASG 的 Azure Resource Manager (ARM) ID 可從 gcloud container azure clusters describe
的輸出取得。
舉例來說,如要允許連至控制層 VM 的 SSH 連線,請執行 az network nsg rule create
指令,建立參照控制層 ASG 的 NSG:
NSG_NAME=$(basename $(gcloud container azure clusters describe \
CLUSTER_NAME --location=GOOGLE_CLOUD_LOCATION \
--format 'value(managedResources.networkSecurityGroupId)'))
ASG_CP_NAME=$(basename $(gcloud container azure clusters describe \
CLUSTER_NAME --location=GOOGLE_CLOUD_LOCATION \
--format 'value(managedResources.controlPlaneApplicationSecurityGroupId)'))
az network nsg rule create \
--name AllowSshToControlPlane \
--nsg-name "${NSG_NAME}" \
--priority 100 \
--resource-group "CLUSTER_RESOURCE_GROUP" \
--access Allow \
--protocol Tcp \
--destination-port-ranges 22 \
--destination-asgs "${ASG_CP_NAME}"
更改下列內容:
CLUSTER_NAME
:叢集名稱GOOGLE_CLOUD_LOCATION
:管理叢集的 Google Cloud 位置CLUSTER_RESOURCE_GROUP
:叢集所在的 Azure 資源群組名稱
如要進一步瞭解如何建立新規則,請按照「Azure NSG 規則建立」一文所述的程序操作。
預設 NSG 規則
在 Azure 上設定 GKE 時,系統會在 Azure 虛擬網路中建立下列 NSG 規則。
優先順序 | 通訊埠 | 通訊協定 | 來源 | 目的地 | 動作 | 目的 |
---|---|---|---|---|---|---|
1000 | 2380、2381 | TCP | 控制層 NIC | 控制層 NIC | 允許 | 控制層 etcd 通訊 |
1001 | 443, 8132 | TCP | 不限 | 控制層 NIC | 允許 | 允許存取 Kubernetes API |
1002 | 10250 | TCP | 控制層 NIC | 節點集區 NIC | 允許 | 控制層與節點之間的通訊 |
1003 | 10250、10255 | TCP | 節點集區 NIC | 節點集區 NIC | 允許 | 節點對節點通訊 |
1004 | 6081 | UDP | 節點集區 NIC | 節點集區 NIC | 允許 | 節點對節點 CNI 通訊 |
1005 | 不限 | 不限 | Azure 負載平衡器 | 不限 | 允許 | 允許傳入負載平衡器的流量 |
4096 | 不限 | 不限 | 不限 | 不限 | 拒絕 | 拒絕所有未納入其他規則的連入連線 |