Netzwerktags verwenden, um Firewallregeln auf Knoten anzuwenden


Auf dieser Seite erfahren Sie, wie Sie Netzwerktags dynamisch auf Knoten in Ihren GKE-Clustern (Google Kubernetes Engine) anwenden, ohne die laufenden Arbeitslasten zu beeinträchtigen.

Informationen zu Netzwerk-Tags

Netzwerktags sind Metadaten auf Compute Engine-VMs mit denen Sie Firewallregeln und Routen für bestimmte VM-Instanzen anwenden können. In GKE können Sie Netzwerk-Tags verwenden, um VPC-Firewallregeln oder Routen auf die Knoten in Ihrem Cluster anzuwenden.

Sie können die GKE API verwenden, um Netzwerktags auf Ihren GKE-Clustern anzuwenden und zu aktualisieren, ohne die laufenden Arbeitslasten zu beeinträchtigen. Von Ihnen angegebene Netzwerktags werden auch auf alle neuen Knoten angewendet, die von GKE automatisch bereitgestellt werden.

Tags anstelle von Netzwerktags verwenden

Netzwerktags sind einfache Strings, die nicht der Zugriffssteuerung von Identity and Access Management unterliegen. Jeder, der Zugriff auf Ihre Knoten in der GKE API hat, kann diesen Knoten Netzwerk-Tags hinzufügen.

Wenn Sie die GKE-Version 1.28 oder höher verwenden, empfehlen wir die Verwendung von Tags mit einer Firewall-Kennzeichnung, um regionale oder globale Netzwerk-Firewallrichtlinien durchzusetzen, die die Möglichkeiten von VPC-Firewallregeln verbessern.

Tags sind Schlüssel/Wert-Paare, die Sie an Compute Engine-VMs anhängen. Mit IAM können Sie steuern, wer mit bestimmten Tags interagieren kann.

Befehlszeilenoptionen zum Anwenden von Netzwerktags

In der folgenden Tabelle werden die Flags beschrieben, die Sie über die Google Cloud CLI angeben können, um Netzwerktags auf Ihre Cluster anzuwenden, sowie deren Anwendungsfälle.

Flag Betriebsmodus Stufe Beschreibung
--autoprovisioning-network-tags
  • Autopilot
  • Standard
Cluster

Wendet die angegebenen Netzwerktags auf alle Autopilot-Knoten und alle automatisch bereitgestellten Standard-Knotenpools an.

--tags
  • Standard
Knotenpool

Wendet Netzwerktags manuell auf bestimmte Standard-Knotenpools an.

Beschränkungen

Mit --autoprovisioning-network-tags wird verhindert, dass Sie --tags verwenden, um die Netzwerktags für automatisch bereitgestellte Standardknotenpools zu aktualisieren.

Wir empfehlen die Verwendung von --autoprovisioning-network-tags für automatisch bereitgestellte Knotenpools und --tags nur für manuell erstellte Knotenpools.

Hinweis

Führen Sie die folgenden Aufgaben aus, bevor Sie beginnen:

  • Aktivieren Sie die Google Kubernetes Engine API.
  • Google Kubernetes Engine API aktivieren
  • Wenn Sie die Google Cloud CLI für diese Aufgabe verwenden möchten, müssen Sie die gcloud CLI installieren und dann initialisieren. Wenn Sie die gcloud CLI bereits installiert haben, rufen Sie die neueste Version mit gcloud components update ab.

Netzwerktags zu neuen Clustern hinzufügen

Sie können Netzwerktags hinzufügen, wenn Sie einen neuen Cluster erstellen.

Netzwerktags zu neuen Autopilot-Clustern hinzufügen

Führen Sie dazu diesen Befehl aus:

gcloud container clusters create-auto CLUSTER_NAME \
    --location=LOCATION \
    --autoprovisioning-network-tags=TAG1,TAG2,...

Dabei gilt:

  • CLUSTER_NAME: Der Name Ihres neuen Autopilot-Clusters.
  • LOCATION: der Compute Engine-Standort für Ihren neuen Cluster.
  • TAG1,TAG2, ...: Eine durch Kommas getrennte Liste der Netzwerktags, die Sie anwenden möchten.

Netzwerktags zu neuen Standardclustern hinzufügen

Für den Standardcluster können Sie auch Netzwerktags angeben, die speziell für die automatische Knotenbereitstellung verwendet werden.

Netzwerktags auf den Standardknotenpool anwenden

Führen Sie den folgenden Befehl aus, um einen neuen Standardcluster zu erstellen und Netzwerktags auf den Standardknotenpool anzuwenden:

gcloud container clusters create CLUSTER_NAME \
    --location=LOCATION \
    --tags=NETWORK_TAG1,NETWORK_TAG2,...

Dabei gilt:

  • CLUSTER_NAME: Der Name des neuen Standardclusters.
  • COMPUTE_REGION: der Compute Engine-Standort für Ihren neuen Cluster.
  • NETWORK_TAG1,NETWORK_TAG2, ...: Eine durch Kommas getrennte Liste der Netzwerktags, die Sie anwenden möchten.

Netzwerktags auf automatisch bereitgestellte Knotenpools anwenden

Sie können Netzwerktags automatisch auf alle Knotenpools anwenden, die durch die automatische Knotenbereitstellung erstellt werden.

Führen Sie dazu diesen Befehl aus:

gcloud container clusters create CLUSTER_NAME \
    --location=LOCATION \
    --enable-autoprovisioning \
    --autoprovisioning-network-tags=TAG1,TAG2,...

Ersetzen Sie TAG1,TAG2,... durch eine durch Kommas getrennte Liste von Netzwerktags, die auf alle automatisch bereitgestellten Knotenpools angewendet werden sollen.

Netzwerktags in vorhandenen Clustern aktualisieren

Sie können die Netzwerktags in vorhandenen Clustern aktualisieren.

Netzwerktags in vorhandenen Autopilot-Clustern aktualisieren

Führen Sie dazu diesen Befehl aus:

gcloud container clusters update CLUSTER_NAME \
    --autoprovisioning-network-tags=TAG1,TAG2,...

Netzwerktags in vorhandenen Standardclustern aktualisieren

Führen Sie den folgenden Befehl aus, um die Netzwerk-Tags in einem bestimmten Standardknotenpool zu aktualisieren. Sie können den Befehl nicht verwenden, um automatisch bereitgestellte Knotenpools zu aktualisieren, wenn Sie --autoprovisioning-network-tags verwendet haben.

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --tags=NETWORK_TAG1,NETWORK_TAG2,...

Wenn --autoprovisioning-network-tags für den Cluster festgelegt ist, gibt dieser Befehl einen Fehler zurück.

Netzwerktags für automatisch bereitgestellte Knotenpools aktualisieren

Sie können die Netzwerktags aktualisieren, sodass die automatische Knotenbereitstellung für neue und vorhandene automatisch bereitgestellte Knotenpools gilt.

Führen Sie dazu diesen Befehl aus:

gcloud container clusters update CLUSTER_NAME \
    --autoprovisioning-network-tags=TAG1,TAG2,...

Netzwerktags zu neuen Standard-Knotenpools hinzufügen

Führen Sie den folgenden Befehl aus, um einen neuen Knotenpool in einem Standardcluster mit bestimmten Netzwerktags zu erstellen:

gcloud container node-pools create NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --tags=NETWORK_TAG1,NETWORK_TAG2,...

Ersetzen Sie NODE_POOL_NAME durch den Namen des neuen Knotenpools.

Vorhandene Netzwerktags aufrufen

In diesem Abschnitt erfahren Sie, wie Sie Ihre vorhandenen Netzwerktags aufrufen.

Vorhandene Netzwerktags in Autopilot ansehen

Führen Sie dazu diesen Befehl aus:

gcloud container clusters describe CLUSTER_NAME \
    --flatten=nodePoolAutoConfig.networkTags

Wenn der Cluster Netzwerktags hat, sieht die Ausgabe in etwa so aus:

---
tags:
- example-tag

Vorhandene Netzwerktags in Standard ansehen

Sie können Netzwerktags in automatisch bereitgestellten Knotenpools oder in von Ihnen erstellten Knotenpools ansehen.

Netzwerktags in automatisch bereitgestellten Knotenpools ansehen

Führen Sie dazu diesen Befehl aus:

gcloud container clusters describe CLUSTER_NAME \
    --flatten=nodePoolAutoConfig.networkTags

Wenn der Cluster Netzwerktags hat, sieht die Ausgabe in etwa so aus:

---
tags:
- example-tag

Netzwerktags in Knotenpools ohne automatische Knotenbereitstellung ansehen

Führen Sie den folgenden Befehl aus, um die Netzwerktags für einen bestimmten Standardknotenpool aufzurufen, in dem die Tags mit dem Flag --tags angewendet wurden:

gcloud container node-pools describe NODE_POOL_NAME\
    --cluster=CLUSTER_NAME \
    --format='value(config.tags)'

Ersetzen Sie NODE_POOL_NAME durch den Namen des Knotenpools.

Wenn der Knotenpool Tags hat, sieht die Ausgabe in etwa so aus:

example-tag

Netzwerktags entfernen

Sie können die Netzwerktags aus GKE entfernen.

Netzwerktags aus Autopilot-Clustern entfernen

Führen Sie dazu diesen Befehl aus:

gcloud container clusters update CLUSTER_NAME \
    --autoprovisioning-network-tags=""

Netzwerktags aus Standardclustern und Knotenpools entfernen

Sie können Tags aus allen automatisch bereitgestellten Knotenpools oder aus bestimmten Knotenpools entfernen.

Netzwerktags aus automatisch bereitgestellten Knotenpools entfernen

Führen Sie den folgenden Befehl aus, um Netzwerktags aus allen automatisch bereitgestellten Knotenpools zu entfernen:

gcloud container clusters update CLUSTER_NAME \
    --autoprovisioning-network-tags=""

Mit diesem Befehl sind Sie auch wieder in der Lage, Netzwerkoptionen für automatisch bereitgestellte Knotenpools mithilfe der Option --tags manuell anzugeben.

Netzwerktags aus bestimmten Knotenpools entfernen

Führen Sie den folgenden Befehl aus, um Netzwerktags aus bestimmten Knotenpools zu entfernen:

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --tags=""

Nächste Schritte