Netzwerksicherheitsgruppen

Auf dieser Seite werden die Azure-Netzwerksicherheitsgruppen (NSGs) beschrieben, die für GKE on Azure erforderlich sind.

Diese Seite richtet sich an Netzwerkexperten, die Netzwerkgeräte installieren, konfigurieren und unterstützen möchten. Weitere Informationen zu gängigen Rollen und Beispielaufgaben, auf die wir in Google Cloud -Inhalten verweisen, finden Sie unter Häufig verwendete GKE Enterprise-Nutzerrollen und -Aufgaben.

Verwaltete NSGs

GKE on Azure verwaltet die NSGs, die an die virtuelle Netzwerkkarte (Virtual Network Interface Card, NIC) jeder VM-Instanz angehängt sind. Zur weiteren Steuerung des Netzwerktraffics können Sie Ihren Subnetzen zusätzliche NSGs hinzufügen.

GKE on Azure verwaltet erforderliche NSG-Regeln automatisch. Fehlende NSG-Regeln werden hinzugefügt und nicht mehr benötigte Regeln werden entfernt. GKE on Azure ändert auch Regeln anhand Ihrer Kubernetes-Servicekonfiguration. Wenn Sie beispielsweise einen Kubernetes-Service vom Typ LoadBalancer hinzufügen, fügt GKE on Azure die entsprechenden NSG-Regeln hinzu.

Regelprioritäten

Azure-NSG-Regelprioritäten haben einen Bereich zwischen 100 und 4096. Je niedriger die Prioritätszahl, desto höher die Priorität.

GKE on Azure verwaltet nur NSG-Regeln mit einer Priorität von 500 oder höher. Wenn Sie daher eine bestimmte Regel implementieren oder zusätzliche Regeln erstellen müssen, können Sie NSGs mit einer Priorität zwischen 100 und 499 verwenden.

Azure verarbeitet Regeln in der entsprechenden Reihenfolge, beginnend mit der niedrigsten Prioritätsnummer. Wenn Sie eine neue Regel erstellen, wählen Sie immer Regelprioritäten im Bereich 100 bis 499 aus, um Konflikte mit vorhandenen Anthos-NSG-Regeln zu vermeiden.

Sicherheitsgruppen für die Anwendung

GKE on Azure erstellt zwei Anwendungssicherheitsgruppen (ASGs), die für die virtuellen NICs von Steuerungsebenen und Worker-Knoten gelten. GKE on Azure aktualisiert ASGs automatisch, z. B. wenn Sie einem Cluster einen neuen Knotenpool hinzufügen. Sie können diese ASGs beim Erstellen von NSG-Regeln verwenden.

Die ARM-IDs (Azure Resource Manager) der NSG und der ASG-Steuerungsebene können Sie der Ausgabe von gcloud container azure clusters describe entnehmen.

Führen Sie beispielsweise den Befehl az network nsg rule create aus, um SSH-Verbindungen zu den VMs der Steuerungsebene zuzulassen. So erstellen Sie eine NSG, die auf die ASG der Steuerungsebene verweist:

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}"

Dabei gilt:

  • CLUSTER_NAME: der Name Ihres Clusters
  • GOOGLE_CLOUD_LOCATION: der Google Cloud Standort, der Ihren Cluster verwaltet
  • CLUSTER_RESOURCE_GROUP: der Name der Azure-Ressourcengruppe, die Ihren Cluster enthält.

Weitere Informationen zum Erstellen einer neuen Regel finden Sie unter Azure-NSG-Regelerstellung.

NSG-Standardregeln

Wenn Sie GKE on Azure einrichten, werden die folgenden NSG-Regeln in Ihrem virtuellen Azure-Netzwerk erstellt.

Priorität Ports Protokoll Quelle Ziel Aktion Zweck
1000 2380, 2381 TCP NICs der Steuerungsebene NICs der Steuerungsebene Zulassen etcd-Kommunikation der Steuerungsebene
1001 443, 8132 TCP Alle NICs der Steuerungsebene Zulassen Zugriff auf die Kubernetes API zulassen
1002 10250 TCP NICs der Steuerungsebene Knotenpool-NICs Zulassen Kommunikation zwischen Steuerungsebene und Knoten
1003 10250, 10255 TCP Knotenpool-NICs Knotenpool-NICs Zulassen Knoten-zu-Knoten-Kommunikation
1004 6081 UDP Knotenpool-NICs Knotenpool-NICs Zulassen Knoten-zu-Knoten-CNI-Kommunikation
1005 Alle Alle Azure-Load-Balancer Alle Zulassen Eingehenden Traffic zum Load-Balancer zulassen
4.096 Alle Alle Alle Alle Ablehnen Alle eingehenden Verbindungen ablehnen, die nicht von einer anderen Regel abgedeckt sind