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.
- Informationen zum Erzwingen von Firewallrichtlinien in GKE mit Tags finden Sie unter Netzwerkfirewallrichtlinien in GKE selektiv erzwingen.
- Weitere Vorteile von Tags finden Sie unter Vergleich von Tags und Netzwerktags.
- Hilfe bei der Migration Ihrer Firewallregeln zu Netzwerk-Firewallrichtlinien finden Sie in der Google Cloud VPC-Firewallregel für Netzwerk-Firewallrichtlinien – Migrationsanleitung (PDF).
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 |
|
Cluster |
Wendet die angegebenen Netzwerktags auf alle Autopilot-Knoten und alle automatisch bereitgestellten Standard-Knotenpools an. |
--tags |
|
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=""