網路安全性群組

本頁面說明並列出 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 不限 不限 不限 不限 拒絕 拒絕所有未納入其他規則的連入連線