Auf dieser Seite wird beschrieben, wie Sie mit Netzwerkdienststufensteuern können, wie externer Traffic Ihre Dienste in Google Kubernetes Engine-Clustern (GKE) erreicht. Mit Netzwerkdienststufen können Sie Ihren Netzwerkverkehr entweder auf Leistung (Premium-Stufe) oder auf Kosteneinsparungen (Standard-Stufe) optimieren.
Bei der Premium-Stufe wird der Traffic über das Premium-Backbone-Netzwerk von Google geleitet, um eine höhere Geschwindigkeit und Zuverlässigkeit zu erzielen. Im Gegensatz dazu verwendet die Standard-Stufe reguläre Netzwerke von Internetanbietern, die eine kostengünstigere Lösung bieten.
Diese Seite richtet sich an Cloud-Architekten und Netzwerkspezialisten, die das Netzwerk ihrer Organisation entwerfen und erstellen. Weitere Informationen zu gängigen Rollen und Beispielaufgaben, auf die wir in Google Cloud Inhalten verweisen, finden Sie unter Häufig verwendete GKE-Nutzerrollen und -Aufgaben.
Funktionsweise von Netzwerkdienststufen in GKE
In diesem Abschnitt wird beschrieben, wie Sie Netzwerkdienststufen in GKE verwalten.
Netzwerkstufe auf Projektebene festlegen: Sie können die Standardnetzwerk stufe für Ihr Google Cloud Projekt entweder auf „Standard-Stufe“ oder „Premium-Stufe“ festlegen. Alle neuen Cluster werden mit der Einstellung
network-defaulterstellt, die die Stufeneinstellung auf Projektebene übernimmt. Diese Einstellung bleibt auch nach Clusterupgrades bestehen. Knotenpools, die im Cluster erstellt wurden, übernehmen die Netzwerkstufe aus der Konfiguration auf Projektebene.Netzwerkstufe beim Erstellen neuer Cluster festlegen: Sie können die Netzwerkstufe beim Erstellen eines neuen Clusters unabhängig von der Stufeneinstellung in Ihrem Google Cloud Projekt konfigurieren. Neue Knotenpools verwenden die Netzwerkstufe auf Clusterebene und diese Konfiguration bleibt auch nach dem Upgrade der Knotenpools bestehen.
Netzwerkstufe beim Aktualisieren von Clustern festlegen: Sie können die Netzwerk stufe beim Aktualisieren eines vorhandenen Clusters konfigurieren. Neue Knotenpools und neue LoadBalancer-Dienste übernehmen die aktualisierte Stufenkonfiguration, während vorhandene Knotenpools und Dienste weiterhin die ursprüngliche Netzwerkstufenkonfiguration verwenden. Die aktualisierte Stufenkonfiguration bleibt auch nach dem Upgrade des Clusters bestehen.
Netzwerkstufe beim Aktualisieren von LoadBalancer-Diensten festlegen: LoadBalancer Dienste übernehmen die Netzwerkstufe des Clusters. Sie können diese Einstellung jedoch überschreiben und die Netzwerkstufe im Dienstmanifest aktualisieren.
Netzwerkdienststufen und Load-Balancing
Standardmäßig verwenden regionale externe Passthrough-Network Load Balancer die Premium-Stufe. Sie können diese Konfiguration so aktualisieren, dass der LoadBalancer-Dienst stattdessen die Standard-Stufe verwendet.
Wenn Sie Application Load Balancer mit Gateway verwenden, können Sie die Netzwerkdienststufen nicht konfigurieren. Netzwerkdienststufen für Gateway werden von der GatewayClass-Ressource gesteuert. Weitere Informationen finden Sie unter Gateway-IP Adresse.
GKE Ingress für externe Application Load Balancer unterstützt die Standard-Stufe für das Traffic-Routing nicht.
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,
installieren und dann
initialisieren Sie die
gcloud CLI. Wenn Sie die gcloud CLI bereits installiert haben, rufen Sie die neueste
Version mit dem
gcloud components updateBefehl ab. Ältere gcloud CLI-Versionen unterstützen möglicherweise nicht die Ausführung der Befehle in diesem Dokument.
Beschränkungen
Folgende Einschränkungen gelten:
- Sie können die Einstellungen für die Netzwerkstufe nur auf Projekt- oder Clusterebene konfigurieren. Sie können die Netzwerkstufe von Knotenpools nicht direkt konfigurieren.
- Die Standard-Stufe wird für globale externe Dual-Stack-IPv4- oder IPv6-Adressen nicht unterstützt. Weitere Informationen zu den Arten von IP-Adressen finden Sie unter IP addresses.
Cluster mit Netzwerkdienststufen erstellen
Führen Sie den folgenden Befehl aus, um einen Cluster zu erstellen und die Netzwerkstufe anzugeben:
gcloud container clusters create CLUSTER_NAME \
--network-tier=NETWORK_TIER \
...
Ersetzen Sie die folgenden Werte:
CLUSTER_NAME: Der Name Ihres Clusters.NETWORK_TIER: Die Einstellung für die Netzwerkstufe. Verwenden Sienetwork-defaultfür dieselbe Stufeneinstellung wie in Ihrem Google Cloud Projekt,Standardfür die Standard-Stufe oderPremiumfür die Premium-Stufe.
Vorhandenen Cluster zu einer anderen Stufe migrieren
Das Aktualisieren der Netzwerkstufe eines Clusters wirkt sich nicht auf die Netzwerkstufe vorhandener Ressourcen aus. Vorhandene Ressourcen verwenden weiterhin die IP-Adresse, die der alten Netzwerkstufe zugeordnet ist. Führen Sie die folgenden Schritte aus, um Dienstunterbrechungen zu vermeiden, wenn Sie Ihren Cluster zu einer neuen Netzwerkstufe migrieren:
Cluster aktualisieren: Führen Sie den folgenden Befehl aus, um einen vorhandenen Cluster mit einer Netzwerkstufe zu aktualisieren:
gcloud container clusters update CLUSTER_NAME \ --network-tier=NETWORK_TIER \ ...Ersetzen Sie die folgenden Werte:
CLUSTER_NAME: Der Name Ihres Clusters.NETWORK_TIER: Die Einstellung für die Netzwerkstufe. Verwenden Sienetwork-defaultfür dieselbe Stufeneinstellung wie in Ihrem Google Cloud Projekt,Standardfür die Standard-Stufe oderPremiumfür die Premium-Stufe.
Neue Knotenpools und Dienste erstellen: Damit externe Clients die neuen IP-Adressen verwenden können, die der neuen Netzwerk stufe zugeordnet sind, müssen Sie neue Knotenpools und neue LoadBalancer-Dienste erstellen. Neue Knotenpools und neue LoadBalancer-Dienste übernehmen die aktualisierte Stufenkonfiguration, während vorhandene Knotenpools und Dienste weiterhin die ursprüngliche Netzwerkstufenkonfiguration verwenden.
DNS-Einträge aktualisieren: Ändern Sie Ihre DNS-Einträge so, dass sie auf die neuen IP Adressen der neuen LoadBalancer-Dienste verweisen.
Warten, bis DNS weitergegeben wurde: Warten Sie, bis die Gültigkeitsdauer (Time to Live, TTL) des DNS abgelaufen ist, damit Clients zu den neuen Diensten weitergeleitet werden und keine veralteten Einträge bereitgestellt werden.
Externen Load Balancer mit Netzwerkdienststufen aktualisieren
Bei regionalen externen Passthrough-Network Load Balancern verwendet GKE standardmäßig die Netzwerkstufe, die im Cluster für die externe Weiterleitungsregel und IP-Adresse konfiguriert ist. Wenn die Netzwerkstufe des Clusters auf network-default festgelegt ist, verwendet der Load Balancer die Premium-Stufe. Sie können diese Einstellung überschreiben, indem Sie die Annotation cloud.google.com/network-tier im Dienstmanifest konfigurieren. Beispiel:
```yaml
apiVersion: v1
kind: Service
metadata:
name: store-v1-lb-svc
annotations:
cloud.google.com/network-tier: Standard
spec:
type: LoadBalancer
loadBalancerClass: networking.gke.io/l4-regional-external
selector:
app: store
ports:
- name: tcp-port
protocol: TCP
port: 8080
targetPort: 8080
```
Weitere Informationen zu den Parametern, die für LoadBalancer-Dienste verwendet werden, finden Sie unter Dienstparameter.
Statische IP-Adresse: Wenn Sie einen Dienst mit einer statischen IP
Adresse erstellen, muss die Netzwerkstufe der statischen IP-Adresse mit der Netzwerkstufe des
LoadBalancer-Dienstes übereinstimmen. Wenn es eine Abweichung gibt, wird beim Ausführen des Befehls kubectl describe service die folgende Fehlermeldung angezeigt:
Error syncing load balancer: failed to ensure load balancer: requested ip "standard-service" is neither static nor assigned to the LB
Nächste Schritte
- Lesen Sie die Übersicht zu Netzwerkdienststufen.
- Informationen zum Erstellen eines Backend-Dienst-basierten externen Load Balancers.