Auf dieser Seite wird beschrieben, wie Sie mit Network Service Tiers steuern, wie externer Traffic Ihre Dienste in Google Kubernetes Engine-Clustern (GKE) erreicht. Mit Netzwerkdienststufen können Sie Ihren Netzwerkverkehr entweder für die Leistung (Premium-Stufe) oder für Kosteneinsparungen (Standard-Stufe) optimieren.
In 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 werden in der Standardstufe reguläre Netzwerke von Internetanbietern (ISPs) verwendet, 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 Network Service Tiers in GKE
In diesem Abschnitt erfahren Sie, wie Sie Netzwerkdienststufen in GKE verwalten.
Netzwerkstufe auf Projektebene festlegen: Sie können die Standardnetzwerkstufe für Ihr Google Cloud Projekt auf „Standard“ oder „Premium“ festlegen. Alle neuen Cluster werden mit der Einstellung
network-default
erstellt, die die Tier-Einstellung auf Projektebene übernimmt. Diese Einstellung bleibt auch nach Cluster-Upgrades erhalten. Knotenpools, die im Cluster erstellt werden, übernehmen die Netzwerkebene 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. Für neue Knotenpools wird die Netzwerkebene des Clusters verwendet. Diese Konfiguration bleibt auch nach dem Upgrade der Knotenpools bestehen.
Netzwerkstufe beim Aktualisieren von Clustern festlegen: Sie können die Netzwerkstufe konfigurieren, wenn Sie einen vorhandenen Cluster aktualisieren. Neue Knotenpools und neue LoadBalancer-Dienste übernehmen die aktualisierte Dienststufenkonfiguration, während für vorhandene Knotenpools und Dienste weiterhin die ursprüngliche Netzwerkdienststufenkonfiguration verwendet wird. Die aktualisierte Tier-Konfiguration bleibt auch nach dem Upgrade des Clusters erhalten.
Netzwerkdienststufe beim Aktualisieren von LoadBalancer-Diensten festlegen: LoadBalancer-Dienste übernehmen die Netzwerkdienststufe des Clusters. Sie können diese Einstellung jedoch überschreiben und die Netzwerkebene im Dienstmanifest aktualisieren.
Netzwerkstufen und Load-Balancing
Standardmäßig verwenden externe Passthrough-Network Load Balancer die Premium-Stufe. Sie können diese Konfiguration aktualisieren, damit der LoadBalancer-Dienst stattdessen die Standardstufe verwendet.
Wenn Sie Application Load Balancer mit Gateway verwenden, können Sie die Netzwerkdienststufen nicht konfigurieren. Netzwerkdienststufen für Gateways werden über die GatewayClass-Ressource gesteuert. Weitere Informationen finden Sie unter Gateway-IP-Adresse.
GKE Ingress für externe Application Load Balancer unterstützt die Standardstufe für das Traffic-Routing nicht.
Hinweise
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 diesen Task 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.
Beschränkungen
Folgende Einschränkungen gelten:
- Sie können Einstellungen für die Netzwerkebene nur auf Projekt- oder Clusterebene konfigurieren. Sie können die Netzwerkstufe von Knotenpools nicht direkt konfigurieren.
- Die Standardstufe wird für globale externe Dual-Stack-IPv4- oder IPv6-Adressen nicht unterstützt. Weitere Informationen zu den verschiedenen Arten von IP-Adressen finden Sie unter IP-Adressen.
Cluster mit Network Service Tiers erstellen
Führen Sie den folgenden Befehl aus, um einen Cluster zu erstellen und die Netzwerkebene 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 Netzwerkebene. Verwenden Sienetwork-default
für dieselbe Stufeneinstellung wie in Ihrem Google Cloud -Projekt,Standard
für die Standardstufe oderPremium
für die Premium-Stufe.
Vorhandenen Cluster zu einem anderen Tarif migrieren
Das Aktualisieren der Netzwerkstufe eines Clusters wirkt sich nicht auf die Netzwerkstufe vorhandener Ressourcen aus. Vorhandene Ressourcen verwenden weiterhin die IP-Adresse, die dem alten Netzwerk-Tier zugeordnet ist. So vermeiden Sie Dienstunterbrechungen, wenn Sie Ihren Cluster zu einer neuen Netzwerkebene migrieren:
Cluster aktualisieren: Führen Sie den folgenden Befehl aus, um einen vorhandenen Cluster mit einer Netzwerkebene 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 Netzwerkebene. Verwenden Sienetwork-default
für dieselbe Stufeneinstellung wie in Ihrem Google Cloud -Projekt,Standard
für die Standardstufe oderPremium
für die Premium-Stufe.
Neue Knotenpools und Dienste erstellen: Damit externe Clients die neuen IP-Adressen verwenden können, die dem neuen Netzwerk-Tier zugeordnet sind, müssen Sie neue Knotenpools und neue LoadBalancer-Dienste erstellen. Neue Knotenpools und neue LoadBalancer-Dienste übernehmen die aktualisierte Dienststufenkonfiguration, während für vorhandene Knotenpools und Dienste weiterhin die ursprüngliche Netzwerkdienststufenkonfiguration verwendet wird.
DNS-Einträge aktualisieren: Ändern Sie Ihre DNS-Einträge so, dass sie auf die neuen IP-Adressen der neuen LoadBalancer-Dienste verweisen.
Warten Sie, bis die DNS-Änderungen übernommen wurden: Warten Sie, bis die DNS-Gültigkeitsdauer (Time to Live, TTL) abgelaufen ist, damit Clients an die neuen Dienste weitergeleitet werden und keine alten Einträge bereitgestellt werden.
Externen Load-Balancer mit Netzwerkdienststufen aktualisieren
Bei externen Passthrough-Network-Load-Balancern verwendet GKE standardmäßig die Netzwerkstufe, die für die externe Weiterleitungsregel und IP-Adresse im Cluster 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 Service-Manifest konfigurieren. Beispiel:
```yaml
apiVersion: v1
kind: Service
metadata:
name: store-v1-lb-svc
annotations:
cloud.google.com/l4-rbs: "enabled"
cloud.google.com/network-tier: Standard
spec:
type: LoadBalancer
selector:
app: store
ports:
- name: tcp-port
protocol: TCP
port: 8080
targetPort: 8080
```
Weitere Informationen zu den für LoadBalancer-Dienste verwendeten Parametern 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 Diskrepanz 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 über Network Service Tiers.
- Informationen zum Erstellen eines Backend-Dienst-basierten externen Load-Balancers