Auf dieser Seite wird beschrieben, wie Sie persistente IP-Adressen für Google Kubernetes Engine-Pods (GKE) implementieren. Mit benutzerdefiniertem persistenten IP-Adressen-Mapping können Sie die Kontrolle über das GKE-Pod-Netzwerk übernehmen. Weitere Informationen zu nichtflüchtigen IP-Adressen, ihren Anwendungsfällen und Vorteilen finden Sie unter Nichtflüchtige IP-Adressen für GKE-Pods.
Voraussetzungen
- GKE-Version 1.31 oder höher.
- Sie können von Google bereitgestellte IP-Adressen reservieren oder Ihre eigenen IP-Adressen (BYOIP) verwenden.
- Konfigurieren Sie Ihre Anwendung, die in den Pods ausgeführt wird, so, dass sie zugewiesene statische IP-Adressen erkennt und verwendet.
- Nichtflüchtige IP-Adressen für GKE-Pods erfordern Cluster, für die GKE Dataplane V2 und die Gateway API aktiviert sind.
Beschränkungen
- Sie müssen Ihre Anwendungen so konfigurieren, dass sie zugewiesene persistente IP-Adressen verwenden. GKE fügt die IP-Adresskonfiguration nicht automatisch den Netzwerkschnittstellen des Pods hinzu.
- Sie können jede statische IP-Adresse jeweils nur einem Pod zuweisen.
Wenn mehrere Pods verfügbar sind, leitet GKE den Traffic in der Regel an den neuesten passenden Pod weiter. GKE tut dies jedoch nur dann, wenn der neueste Pod fehlerfrei ist, d. h., der Pod hat standardmäßig den Bedingungsstatus
Ready
alsTrue
. Sie können dieses Verhalten konfigurieren und mit der EinstellungreactionMode
aufGKEIPRoute
ändern. - GKE unterstützt nur IPv4-Adressen als persistente IP-Adressen.
- GKE unterstützt nur Layer 3- oder gerätetypbasierte Multi-Netzwerke.
- Die Unterstützung von Hochverfügbarkeit (HA) mit persistenten IP-Adressen wird für Nicht-DPDK-Anwendungsfälle nicht unterstützt.
- Sie können bis zu 16 IP-Adressen für ein einzelnes
GKEIPRoute
angeben. Wenn Sie weitere Adressen konfigurieren möchten, können Sie mehrereGKEIPRoute
-Objekte erstellen.
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 dem Befehl
gcloud components update
ab. In früheren gcloud CLI-Versionen werden die Befehle in diesem Dokument möglicherweise nicht unterstützt.
Weitere Informationen zu IP-Adressen
Sehen Sie sich die Anforderungen und Einschränkungen an.
Nichtflüchtige IP-Adressen für GKE-Pods implementieren
Nichtflüchtige IP-Adressen in GKE bieten eine Möglichkeit, Ihren Pods eine stabile Netzwerkidentität zu geben, auch wenn die Pods selbst aktualisiert oder verschoben werden.
In diesem Abschnitt wird der Workflow zum Implementieren nichtflüchtiger IP-Adressen für GKE-Pods zusammengefasst:
- Cluster erstellen: Erstellen Sie einen Cluster mit der Gateway API und GKE Dataplane V2.
- IP-Adresse reservieren: Entscheiden Sie, ob Sie eine externe (öffentlich zugängliche) oder interne (nur Google Cloud) IP-Adresse benötigen, und reservieren Sie sie. Wählen Sie dieselbe Region wie für Ihren GKE-Cluster aus.
- Gateway erstellen: Konfigurieren Sie das Kubernetes Gateway-Objekt, das Ihre reservierten nichtflüchtigen IP-Adressen enthält, und erstellen Sie Regeln (
GKEIPRoutes
) dafür, welche Pods in Ihrem Cluster diese persistenten IP-Adressen verwenden können. - Arbeitslasten für statische IP-Adressen erstellen oder identifizieren: Wenn Sie statische IP-Adressen in einem zusätzlichen Netzwerk verwenden, bereiten Sie Pods für die Verwendung statischer IP-Adressen vor, indem Sie mehrere Netzwerkschnittstellen aktivieren und das Netzwerk definieren, in dem sich die statischen IP-Adressen befinden.
- GKEIPRoute-Objekt für ausgewählte Arbeitslasten erstellen: Konfigurieren Sie
GKEIPRoute
, um die nichtflüchtige IP-Adresse einem bestimmten Pod zuzuweisen. Sie können Labels verwenden, um die richtigen Pods anzusprechen, und optional konfigurieren, wie das Routing auf Pod-Änderungen reagiert. - Anwendung für die Verwendung der persistenten IP-Adresse konfigurieren: Konfigurieren Sie Ihre Anwendung im Pod so, dass sie die persistente IP-Adresse aktiv verwendet.
- Überwachung: Behalten Sie den Status Ihres Gateways und der
GKEIPRoute
-Objekte im Blick, um sicherzustellen, dass alles wie erwartet funktioniert.
So implementieren Sie nichtflüchtige IP-Adressen für GKE-Pods:
Schritt 1: GKE-Cluster erstellen, für den die Gateway API und GKE Dataplane V2 aktiviert sind
Wenn Sie die erweiterten Verwaltungsfunktionen für Netzwerkrouting und IP-Adressen aktivieren möchten, die für die Implementierung nichtflüchtiger IP-Adressen auf GKE-Pods erforderlich sind, müssen Sie einen GKE Dataplane V2-Cluster erstellen:
gcloud container clusters create CLUSTER_NAME \
--cluster-version=CLUSTER_VERSION \
--enable-dataplane-v2 \
--enable-ip-alias \
--gateway-api=standard
Ersetzen Sie Folgendes:
CLUSTER_NAME
ist der Name des Clusters.CLUSTER_VERSION
: die Version des Clusters.
Schritt 2: Persistente IP-Adressen einrichten
Wenn Sie zuverlässige Netzwerkidentitäten für Ihre Pods einrichten und persistente IP-Adressen festlegen möchten, müssen Sie zuerst persistente IP-Adressen abrufen. Sie können von Google bereitgestellte IP-Adressen reservieren oder Ihre eigenen (BYOIP) verwenden.
Schritt 2a: Von Google bereitgestellte IP-Adressen reservieren
Führen Sie den folgenden Befehl aus, um externe IP-Adressen zu reservieren:
gcloud compute addresses create ADDRESS_NAME \
--region=REGION
Ersetzen Sie Folgendes:
ADDRESS_NAME
: der Name, den Sie mit dieser Adresse verknüpfen möchten.REGION
: die Region, in der Sie diese Adresse reservieren möchten. Die Region muss sich in derselben Region befinden wie der Pod, dem Sie die IP-Adresse zuweisen möchten.Hinweis: Sie müssen eine Region angeben, wenn Sie eine IP-Adresse reservieren, da Weiterleitungsregeln, die das Traffic-Routing für statische IP-Adressen verarbeiten, regional sind. Ihre IP-Adresse und Ihr GKE-Cluster müssen sich in derselben Region befinden, damit das Routing richtig funktioniert.
Führen Sie den folgenden Befehl aus, um interne IP-Adressen zu reservieren:
gcloud compute addresses create ADDRESS_NAME \
--region REGION
--subnet SUBNETWORK \
--addresses IP_ADDRESS
Ersetzen Sie Folgendes:
ADDRESS_NAME
: Die Namen einer oder mehrerer Adressen, die Sie reservieren möchten. Geben Sie bei mehreren Adressen alle Adressen als Liste an, getrennt durch Leerzeichen. Beispiel: example-address-1 example-address-2 example-address-3REGION
: Die Region für diese Anfrage.SUBNETWORK
: Das Subnetz für diese interne IPv4-Adresse.
Damit der Traffic in Ihrem privaten Netzwerk richtig weitergeleitet wird, müssen interne IP-Adressen zum Standardsubnetz oder zum zusätzlichen Netzwerksubnetz des Clusters gehören.
Weitere Informationen zu externen und internen IP-Adressen oder zum Reservieren von Adressen über die Console finden Sie unter Statische externe IP-Adresse reservieren und Statische interne IP-Adresse reservieren.
Schritt 2b: Eigene IP-Adressen verwenden (Bring your own IP, BYOIP)
Sie können Ihre eigenen IP-Adressen (BYOIP) verwenden, anstatt auf von Google bereitgestellte IP-Adressen zurückzugreifen. BYOIP ist hilfreich, wenn Sie bestimmte IP-Adressen für Ihre Anwendungen benötigen oder vorhandene Systeme in Google Cloudverschieben. Wenn Sie BYOIP verwenden möchten, prüft Google, ob Sie der Eigentümer des IP-Adressbereichs sind. Nachdem die IP-Adressen in Google Cloudimportiert wurden, können Sie sie als persistente IP-Adressen für GKE-Pods zuweisen. Weitere Informationen finden Sie unter Eigene IP-Adressen verwenden.
Schritt 3: Gateway-Objekte erstellen
Gateway-Objekte enthalten die IP-Adressen und definieren, welche Pods sie verwenden dürfen. Mit Gateway-Objekten können Sie steuern, wie persistente IP-Adressen Ihren GKE-Pods zugewiesen werden.
- Erstellen Sie ein Kubernetes Gateway-Objekt der entsprechenden Klasse:
gke-persistent-regional-external-managed
für externe (öffentliche) IP-Adressen.gke-persistent-regional-internal-managed
für interne (nurGoogle Cloud) IP-Adressen.
- Geben Sie im Abschnitt „Adressen“ des Gateways die persistenten IP-Adressen (von Google bereitgestellt oder BYOIP) an, die von diesem Gateway verwaltet werden.
Ermitteln Sie im Abschnitt
Listeners
, welche Pods und zugehörigenGKEIPRoute
-Objekte möglicherweise die IP-Adressen des Gateways verwenden können.Listeners
fungiert als Filter basierend auf dem Namespace des GKEIPRoute, in dem einGKEIPRoute
-Objekt vorhanden ist.Sie haben die folgenden Optionen für die Auswahl von Kubernetes-Namespaces:
- Alle Namespaces: Alle
GKEIPRoute
im Cluster. - Selektor:
GKEIPRoute
in GKEIPRoute-Namespaces, die einem bestimmten Label entsprechen. - Gleicher Namespace: Nur
GKEIPRoutes
im selben Namespace wie das Gateway.
- Alle Namespaces: Alle
Im folgenden Beispiel wird clusterweiter Zugriff auf externe statische IP-Adressen gewährt, sodass jeder Pod sie potenziell verwenden kann.
Speichern Sie das folgende Beispielmanifest als allowed-pod-ips.yaml
:
kind: Gateway
apiVersion: gateway.networking.k8s.io/v1
metadata:
namespace: default
name: allowed-pod-ips
spec:
gatewayClassName: gke-persistent-regional-external-managed
listeners:
- name: default
port: 443
protocol: none
allowedRoutes:
namespaces:
from: All
addresses:
- value: "34.123.10.1/32"
type: "gke.networking.io/cidr"
- value: "34.123.10.2/32"
type: "gke.networking.io/cidr"
Dabei gilt:
- addresses: Hier werden alle IP-Adressen aufgeführt, deren Berechtigungen vom jeweiligen Gateway verwaltet werden.
- listeners: Wird verwendet, um die Namespaces zu identifizieren, aus denen
GKEIPRoute
-Objekte auf dieses Gateway verweisen können.
Wenden Sie das Manifest auf den Cluster an:
kubectl apply -f allowed-pod-ips.yaml
Schritt 4 (optional): Arbeitslasten mit zusätzlichen Netzwerken für persistente IP-Adressen erstellen oder identifizieren
Wenn Sie Ihre persistenten IP-Adressen mit Pods verwenden möchten, die eine Verbindung zu mehreren Netzwerken benötigen, können Sie Multi-Netzwerk-Pods einrichten und Netzwerkobjekte erstellen, die die Netzwerke angeben, zu denen die persistente IP-Adresse gehört.
Schritt 5: GKEIPRoute
-Objekt für ausgewählte Arbeitslasten erstellen
Wenn Sie einem ausgewählten Pod eine persistente IP-Adresse zuweisen möchten, erstellen Sie ein GKEIPRoute
-Objekt.
Speichern Sie das folgende Beispielmanifest als my-ip-route.yaml
:
kind: GKEIPRoute
apiVersion: networking.gke.io/v1
metadata:
namespace: default
name: my-ip-route
spec:
parentRefs:
- name: allowed-pod-ips
namespace: default
addresses:
- value: "34.123.10.1/32"
type: "gke.networking.io/cidr"
network: default
reactionMode: ReadyCondition
podSelector: # Only one pod is selected.
matchLabels:
component: proxy
Dabei gilt:
- parentRefs: Verweist auf das Gateway, von dem persistente IP-Adressen verwendet werden. Dieses Feld ist unveränderlich.
- addresses: Hier werden alle persistenten IP-Adressen aufgeführt, die an den mit
podSelector
identifizierten Pod weitergeleitet werden. Dieses Feld kann geändert werden. Für IPv4 werden nur /32-Adressen unterstützt. - podSelector: Gibt Labels an, die den Pod identifizieren, an den die persistenten IP-Adressen weitergeleitet werden. Dieses Feld ist veränderlich und gilt für denselben Namespace, in dem
GKEIPRoute
platziert ist. Wenn Sie mehrere Pods auswählen, werden zwei zusätzliche Faktoren berücksichtigt: die Erstellungszeit des Pods (GKE wählt den neuesten aus) und die Einstellung des FeldsreactionMode
. - reactionMode: Gibt an, wie sich diese Funktion verhält, wenn ein bestimmter Pod (ausgewählt durch
podSelector
) erstellt oder gelöscht wird. Dieses Feld ist optional und wird standardmäßig aufReadyCondition
gesetzt. Das FeldReadyCondition
ist unveränderlich. Sie könnenreactionMode
festlegen, um zu steuern, wie sich die Funktion verhält, wenn Pods erstellt, gelöscht oder aktualisiert werden. - network: Verweist auf die Netzwerkschnittstelle eines Pods, an die persistente IP-Adressen weitergeleitet werden. Dieses Feld ist optional und wird standardmäßig auf
default
gesetzt. Wenn Sie das Standardnetzwerk verwenden, mussnetwork
aufdefault
gesetzt sein. Wenn Sie zusätzliche Netzwerke verwenden, legen Sie „network“ auf den Namen des Netzwerkobjekts fest, das Sie zuvor erstellt haben. Dieses Feld ist unveränderlich.
Wenden Sie das Manifest auf den Cluster an:
kubectl apply -f my-ip-route.yaml
StatefulSet-Pods nichtflüchtige IP-Adressen zuweisen
Wenn Sie einem bestimmten Multinetwork-Pod in einem StatefulSet eine nichtflüchtige IP-Adresse zuweisen möchten, verwenden Sie den vorhersagbaren Hostnamen des Pods und die automatische Kennzeichnung von Kubernetes, wie im folgenden Beispiel gezeigt:
Speichern Sie das folgende Beispielmanifest als my-pod-ips.yaml
:
kind: GKEIPRoute
apiVersion: networking.gke.io/v1
metadata:
namespace: proxy-ss-ns
name: my-pod-ips
spec:
parentRefs:
- name: allowed-pod-ips
namespace: default
addresses:
- value: "34.123.10.1/32"
type: "gke.networking.io/cidr"
- value: "34.123.10.2/32"
type: "gke.networking.io/cidr"
network: blue-network
reactionMode: ReadyCondition
podSelector:
matchLabels:
statefulset.kubernetes.io/pod-name: proxy-ss-1
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
namespace: proxy-ss-ns
name: proxy-ss
spec:
selector:
matchLabels:
component: proxy
serviceName: "proxy"
replicas: 3
template:
metadata:
annotations:
networking.gke.io/default-interface: 'eth0'
networking.gke.io/interfaces: '[{"interfaceName":"eth0","network":"default"}, {"interfaceName":"eth1","network":"blue-network"}]'
labels:
component: proxy
spec:
containers:
- name: hello-app
image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
Wenden Sie das Manifest auf den Cluster an (achten Sie darauf, dass Sie ein Netzwerk namens „blue-network“ haben):
kubectl apply -f my-pod-ips.yaml
Deployment-Pods nichtflüchtige IP-Adressen zuweisen
Wenn Sie dem neuesten Pod in einem Deployment eine persistente IP-Adresse zuweisen möchten, wenden Sie eine GKEIPRoute
mit der folgenden Konfiguration an:
Speichern Sie das folgende Beispielmanifest als my-pod-ips.yaml
:
kind: GKEIPRoute
apiVersion: networking.gke.io/v1
metadata:
namespace: proxy-deploy-ns
name: my-pod-ips
spec:
parentRefs:
- name: allowed-pod-ips
namespace: default
addresses:
- value: "34.123.10.1/32"
type: "gke.networking.io/cidr"
- value: "34.123.10.2/32"
type: "gke.networking.io/cidr"
network: blue-network # point to the right network if you intend to use persistent-ip on additional networks
reactionMode: ReadyCondition
podSelector:
matchLabels:
component: proxy
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: proxy-deploy-ns
name: proxy-deploy
spec:
selector:
matchLabels:
component: proxy
replicas: 4 # Latest Pod is used
template:
metadata:
# annotations: <- Remove these lines if the pods are not multi-nic pods
# networking.gke.io/default-interface: 'eth0'
# networking.gke.io/interfaces: '[{"interfaceName":"eth0","network":"default"}, {"interfaceName":"eth1","network":"blue-network"}]'
labels:
component: proxy
spec:
containers:
- name: hello-app
image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
Wenden Sie das Manifest auf den Cluster an:
kubectl apply -f my-ip-route.yaml
Wenn Sie zusätzliche Netzwerke verwenden, muss ein Netzwerk namens „blue-network“ vorhanden sein.
Schritt 6: Persistente IP-Adressen im Pod verwenden
Wenn Sie einem GKE-Pod mit einem GKEIPRoute eine nichtflüchtige IP-Adresse zuweisen, werden die IP-Adressen nicht automatisch von Ihrer Anwendung verwendet. Die persistenten IP-Adressen werden auf Netzwerkroutingebene verarbeitet, aber die Standardkonfiguration Ihres Pods ist sich dessen nicht bewusst. Sie müssen die Konfiguration Ihrer Anwendung so konfigurieren, dass die Adresse im Pod erkannt und verwendet wird. Dazu benötigt Ihr Pod Berechtigungen.
Sie haben folgende Möglichkeiten, Ihre Anwendung zu konfigurieren:
- net.ipv4.ip_nonlocal_bind::Ändern Sie eine Systemeinstellung, damit Ihre Anwendung IP-Adressen verwenden kann, die nicht direkt ihrer Schnittstelle zugewiesen sind.
- ip address add:Mit diesem Befehl können Sie die statische IP-Adresse manuell einer Schnittstelle hinzufügen.
- Raw Sockets:Für noch mehr Kontrolle kann Ihre Anwendung direkt mit dem Netzwerk-Stack interagieren (erweitert).
- Userspace-IP-Adress-Stack:In speziellen Fällen kann eine separate Anwendung im Pod ausgeführt werden, um die IP-Adresse zu verwalten (sehr fortgeschritten).
Schritt 7: ARP für persistente IP-Adressen aktivieren (nur Standardnetzwerk)
Damit gültige ARP-Anfragen (Address Resolution Protocol) und ‑Antworten generiert und eine neue Verbindung zu einem Pod über eine persistente IP-Adresse im Standardnetzwerk hergestellt werden kann, müssen Sie die Variable arp_announce
konfigurieren.
Führen Sie den folgenden Befehl auf Ihrem Pod aus, um die Variable arp_announce
festzulegen:
echo "2" > /proc/sys/net/ipv4/conf/eth0/arp_announce
Die Variable arp_announce
steuert, wie ARP-Ankündigungen behandelt werden. Wenn Sie den Wert auf „2“ setzen, werden ARP-Ankündigungen für die persistente IP-Adresse vorgenommen, sodass andere Geräte im Netzwerk die neue Zuordnung kennenlernen können.
Verhalten nichtflüchtiger IP-Adressen bei Pod-Änderungen anpassen
In diesem Abschnitt wird beschrieben, wie sich die persistente IP-Adresse für GKE-Pods verhält, wenn der Ziel-Pod erstellt oder gelöscht wird. Der GKE-Controller überwacht Ihre Pods und die GKEIPRoute
-Konfiguration. Wenn eine Aktualisierung erkannt wird, wird die persistente IP-Adresse gemäß des von Ihnen ausgewählten reactionMode
automatisch einem geeigneten Pod zugewiesen.
Informationen dazu, wie das Feature für persistente IP-Adressen Pod-Änderungen automatisch verarbeitet, sowie die verfügbaren Konfigurationsoptionen:
- Wählen Sie im Feld reactionMode Ihrer
GKEIPRoute
-Konfiguration ReadyCondition oder Exists aus. Berücksichtigen Sie die Anforderungen Ihrer Anwendung hinsichtlich der Geschwindigkeit, mit der die IP-Adresse zugewiesen wird, im Vergleich zu strengen Bereitschaftsanforderungen. - Wenn Sie
ReadyCondition
verwenden, um die Bereitschaft sicherzustellen, müssen Sie darauf achten, dass in Ihren Pods Kubernetes-Bereitschaftsprüfungen korrekt implementiert sind. Andernfalls funktioniert die statische IP-Adresse möglicherweise nicht wie vorgesehen. - Wir empfehlen Ihnen, den Status Ihrer Pods und das Feld
Conditions
desGKEIPRoute
-Objekts zu beobachten, um sicherzustellen, dass das System ordnungsgemäß funktioniert. Der Statustrue
der BedingungReady
zeigt an, dass das System ordnungsgemäß funktioniert.
Kommunikationsprobleme mit nichtflüchtigen IP-Adressen für Pods beheben
In diesem Abschnitt wird beschrieben, wie Sie Probleme im Zusammenhang mit persistenten IP-Adressen für Pods beheben.
NoPodsFound
, wenn keine übereinstimmenden Pods gefunden werden
Symptom
Das GKEIPRoute
-Objekt gibt eine podSelector
(eine Reihe von Labels) an, um zu identifizieren, welche Pods der persistenten IP-Adresse zugeordnet sind. Der Status NoPodsFound
gibt an, dass es in den Ziel-Namespaces GKEIPRoute's
keine Pods mit den entsprechenden Labels gibt.
Mögliche Ursachen
- Falsche Labels: Der Pod, den Sie für die persistente IP-Adresse verwenden möchten, hat möglicherweise falsche oder gar keine Labels.
- Keine Pods vorhanden:Wenn
reactionMode == Exists
, prüfen Sie, ob der Pod einem Knoten zugewiesen ist. Suchen Sie dazu nach dem Feldpod.Spec.nodeName
. Möglicherweise werden im NamespaceGKEIPRoute's
keine Pods ausgeführt, die dem Selektor entsprechen. - Pod nicht bereit:Wenn
reactionMode == ReadyCondition
, prüfen Sie, ob der Pod-StatusREADY
ist. Selbst wenn ein übereinstimmender Pod vorhanden ist, kann er keinen Traffic bereitstellen, wenn er sich nicht im StatusReady
befindet, und ist somit nicht ausgewählt.
Lösung
- Labels prüfen: Prüfen Sie noch einmal, ob die Labels in Ihrem
GKEIPRoute's
-podSelector
mit den Labels übereinstimmen, die Sie auf den gewünschten Pod angewendet haben. - Pod-Vorhandensein prüfen: Achten Sie darauf, dass ein Pod mit den richtigen Labels tatsächlich in den Namespaces
GKEIPRoute's
vorhanden ist, die durch dieListeners
des Gateways angegeben werden. Wenn derreactionMode == Exists
, prüfen Sie, ob der Pod einem Knoten zugewiesen ist, indem Sie das Feldpod.Spec.nodeName
prüfen. Pod-Bereitschaft bestätigen: Wenn
reactionMode == ReadyCondition
, prüfen Sie, ob der Pod-StatusREADY
ist. Prüfen Sie mit dem folgenden Befehl, ob sich der Pod im StatusReady
befindet:kubectl get pods -n <namespace>
Pods in anderen Status (z. B. „Ausstehend“, „Fehler“) werden nicht ausgewählt.
Konfigurieren Sie Ihre Pods so, dass sie auf die zugewiesene persistente IP-Adresse reagieren.
Mutated
, wenn ein übereinstimmender Pod gefunden wurde und die Programmierung einer persistenten IP-Adresse ausgeführt wird
Symptom
Der Status GKEIPRoute
ist „Mutated“ (Geändert), was darauf hinweist, dass die Konfiguration der persistenten IP-Adresse für einen übereinstimmenden Pod ausgeführt wird.
Mögliche Ursache:
Der Status „Mutated“ ist während der Konfiguration zu erwarten, da das System den GKE-Datenpfad und die Google Cloud Ressourcen für die statische IP-Adresse einrichtet.
Lösung:
- Warten und noch einmal versuchen:In den meisten Fällen wird die Konfiguration automatisch innerhalb kurzer Zeit abgeschlossen. Prüfen Sie den Status nach der Wartezeit. Bei Erfolg ändert sich der Status zu
Ready
. - Weiter untersuchen (falls erforderlich): Wenn der Status "Verändert" über einen längeren Zeitraum bestehen bleibt, kann dies auf einen Konfigurationsfehler hinweisen. Prüfen Sie die anderen Statusbedingungen auf Ihrer
GKEIPRoute
:- Akzeptiert: Gibt an, ob Ihre
GKEIPRoute
-Einrichtung gültig ist. - DPV2Ready: Gibt an, ob der Datenpfad auf dem Knoten korrekt programmiert ist.
- GCPReady: Gibt an, ob die Google Cloud Ressourcen wie erwartet eingerichtet sind.
- Akzeptiert: Gibt an, ob Ihre
Suchen Sie in diesen Bedingungen nach Fehlermeldungen, um das Problem zu beheben.