Auf dieser Seite wird beschrieben, wie Sie eine zuverlässige Kommunikation erreichen, indem Sie bestimmten Pods in Ihren Google Kubernetes Engine-Clustern (GKE) direkt eine oder mehrere persistente (statische) IP-Adressen zuweisen.
In bestimmten Fällen, in denen Sie eine benutzerdefinierte NAT-Lösung (Network Address Translation) ausführen, benötigen Sie möglicherweise eine statische persistente IP-Adresse für ausgehende und eingehende Verbindungen, entweder wenn die NAT-Lösung die Verbindung initiiert oder wenn sie sie empfängt. Möglicherweise möchten Sie auch die IP-Adressen verwalten, die der Anwendung zugewiesen sind, um die Interaktion mit anderen Systemen oder die Verarbeitung bestimmter Arten von Anfragen entsprechend Ihren Geschäftsanforderungen zu steuern.
Standardmäßig verwendet der Pod seine Schnittstellen-IP-Adressen für ausgehenden Traffic. Die IP-Adressen der Schnittstelle ändern sich, wenn der Pod neu gestartet oder verschoben wird. Wenn Sie die Routingkommunikation besser steuern möchten, können Sie nichtflüchtige IP-Adressen manuell für Ihre Pods in GKE konfigurieren.
Diese IP-Adressen können entweder externe IP-Adressen für die Kommunikation über das Internet oder interne IP-Adressen für die Kommunikation innerhalb Ihres Google Cloud-Netzwerks sein. Sie können entweder von Google bereitgestellte IP-Adressen verwenden oder Ihre eigenen IP-Adressen (BYOIP) verwenden.
Durch das Konfigurieren nichtflüchtiger IP-Adressen für Pods in GKE können Sie die Anwendungs- und Geschäftslogik so zuordnen, dass bestimmte Pods Traffic an eine der nichtflüchtigen IP-Adressen senden und von diesen empfangen können.
Das folgende Diagramm zeigt, wie ein Pod mit mehreren Netzwerkschnittstellen eine persistente IP-Adresse aus einem sekundären Netzwerk verwenden kann und gleichzeitig im Standardnetzwerk kommuniziert:
Terminologie und Konzepte
Auf dieser Seite werden die folgenden Konzepte verwendet:
Gateway-Klassen
Gateway-Klassen, die Ihre dauerhaften IP‑Adresszuweisungen verwalten, gibt es in den folgenden Klassen:
- gke-persistent-regional-external-managed für externe IP-Adressen
gke-persistent-regional-internal-managed für interne (nur Google Cloud-)IP-Adressen
Gateway-Klassen funktionieren in bestimmten Regionen. Gateway-Klassen bieten eine grundlegende IP‑Adressverwaltung und sind auf das Netzwerk-Routing der Schicht 3 (L3) ausgerichtet.
Gateway-Objekte
Gateway-Objekte dienen als zentraler Punkt für die Verwaltung und Konfiguration dauerhafter IP-Adressen. Gateway-Objekte in GKE verwalten einen Pool von nichtflüchtigen IP-Adressen. Sie führen diese Adressen auf und definieren Regeln dafür, wie diese IP-Adressen GKEIPRoute
zugewiesen werden können.
Listener
Ein Listener ist Teil Ihrer GKE-Gateway-Konfiguration und steuert, welche Pods in Gateway-Namespaces die vom Gateway gehaltenen nichtflüchtigen IP-Adressen verwenden können. Mit dem Listener können Sie den Zugriff für Flexibilität und Sicherheit anpassen. Jeder Listener muss einen eindeutigen Namen haben und ermöglicht es, den Zugriff nach Namespace zu filtern (alle, labelbasiert oder nur der Namespace des Gateways).
GKEIPRoute-Objekt
Das Objekt GKEIPRoute ist eine benutzerdefinierte Ressource, mit der Sie einem bestimmten Pod in Ihrem GKE-Cluster eine persistente IP-Adresse zuweisen. Im Statusbereich des GKEIPRoute
-Objekts können Sie die Konfiguration Ihrer dauerhaften IP-Adresse überwachen. Dort finden Sie wichtige Informationen in den folgenden Feldern:
Pod
Im Feld Pod sehen Sie den genauen Namen des Pods, der mit den dauerhaften IP-Adressen verknüpft ist. Ein einzelner Pod kann mehrere persistente IP-Adressen verwenden.
Bedingungen
Im Feld Bedingungen sehen Sie, ob die Einrichtung Ihrer externen IP-Adresse richtig funktioniert. Außerdem können Sie hier Probleme diagnostizieren, wenn Ihre Konfiguration nicht gültig ist. Es gibt vier Bedingungen:
Accepted
:Gibt an, ob dieGKEIPRoute
-Ressourcenspezifikation gültig ist. Wenn Ihre Konfiguration Fehler enthält, hat die BedingungAccepted
den WertFalse
mit einem Grund.GCPReady
:Gibt an, dass Google Cloud alle erforderlichen Ressourcen bereitgestellt hat. Fehler bei der Bereitstellung von Google Cloud-Ressourcen werden im Status der BedingungGCPReady
berücksichtigt.DPV2Ready
: Gibt den Status der Datenpfadprogrammierung an, z. B. wenn der Datenpfad bereit und programmiert ist, um Netzwerkverbindungen auf den konfigurierten nichtflüchtigen IP-Adressen zuzulassen.Ready
: Gibt an, dass die Einrichtung der persistenten IP-Adress gültig und funktionsfähig ist. Die Pods können über die dauerhaften IP-Adressen erreicht werden, sofern Sie Ihre Anwendung so konfiguriert haben, dass sie verwendet werden. Dieser Wert wird aufTrue
gesetzt, wenn alle drei vorangehenden Bedingungen ebenfallsTrue
sind.
Reaktionsmodi
Mit Reaktionsmodi wird festgelegt, wie sich das System verhält, wenn sich der mit einer persistenten IP-Adresse verknüpfte Pod ändert, z. B. wenn er zwischen Knoten verschoben wird oder ein neu erstellter übereinstimmender Pod verfügbar wird. Mit Reaktionsmodi können Sie Ihre dauerhaften IP-Adressen auch dann verwenden, wenn sich Ihre Pods ändern.
Es gibt folgende Reaktionsmodi:
ReadyCondition
Im Modus ReadyCondition priorisiert das System nichtflüchtiger IP-Adressen den Pod-Zustand. Das System nichtflüchtiger IP-Adressen weist IP-Adressen nur Pods zu, die den angegebenen Labels entsprechen und Kubernetes-Systemdiagnosen bestanden haben. Dabei wird der Status
Ready
alsTrue
signalisiert. Dieser Modus eignet sich ideal für Anwendungen, bei denen es wichtig ist, dass der Pod, der die persistente IP-Adresse empfängt, vollständig für den Umgang mit ein- und ausgehendem Traffic vorbereitet ist.Vorhanden
Im Modus Exists wird die Anwesenheit eines Pods priorisiert. Die nichtflüchtige IP-Adresse wird einem Pod zugewiesen, wenn dieser Pod mit den Labels in Ihrer Konfiguration übereinstimmt und auf einem bestimmten Knoten in Ihrem Cluster geplant wurde. Das bedeutet, dass der Pod vorhanden ist und einen bestimmten Ausführungsort hat. Dieser Modus eignet sich gut für Szenarien, in denen eine schnelle Zuweisung der nichtflüchtigen IP-Adresse Vorrang vor strikter Bereitschaft hat, oder in Umgebungen wie denen für Entwicklung und Tests, in denen eine sofortige Konnektivität wichtiger sein kann als die vollständige Anwendungsbereitschaft.
StatefulSets
StatefulSets sind eine Art von Kubernetes-Arbeitslast, die für Anwendungen entwickelt wurde, die stabile IDs und nichtflüchtigen Speicher benötigen. Pods innerhalb eines StatefulSets haben vorhersagbare Namen (z. B. „my-app-0“ und „my-app-1“).
Deployments
Deployments sind eine Art von Kubernetes-Arbeitslast zum Verwalten zustandsloser Anwendungen, bei denen Pods im Allgemeinen austauschbar sind. Pod-Namen innerhalb von Bereitstellungen sind nicht vollständig vorhersehbar.
Anwendungsfälle
Nichtflüchtige IP-Adressen für GKE-Pods decken mehrere Anwendungsfälle für Netzwerk- und Sicherheitsdienstleister ab, die netzwerkbezogene Anwendungen in GKE und GKE Enterprise ausführen.
Nichtflüchtige IP-Adressen für GKE-Pods eignen sich für die folgenden Anwendungsfälle:
- NAT-Steuerung: Wenn Sie Pods mit Netzwerkfunktionen persistente IP-Adressen zuweisen, haben Sie eine detaillierte Kontrolle über die Quell-IP-Adressen, die für ausgehenden Traffic verwendet werden. So können Sie Ihre eigene NAT-Logik einbinden.
- Dedizierte IP‑Adresspools: Mit dedizierten IP‑Adressen können Sie bestimmte Adressen einzelnen 5G‑Core-Pods zuordnen und so für Kompatibilität mit spezieller Anbietersoftware sorgen.
- Zuverlässige Trafficflüsse: Da Rücktraffic über dieselbe Netzwerkfunktion zurückgeleitet werden muss, sorgen persistente IP-Adressen dafür, dass externe Systeme den richtigen Pod erkennen und ohne Unterbrechungen der Kommunikation darauf reagieren.
Vorteile
Nichtflüchtige IP-Adressen für GKE-Pods bieten folgende Vorteile:
- Externe Identität:Wenn Sie einem Pod eine externe, persistente IP-Adresse zuweisen, können externe Systeme diesen Pod immer erreichen, auch wenn er neu gestartet oder innerhalb des Clusters verschoben wird. Das ist hilfreich für Dienste, die einen extern auffindbaren Endpunkt benötigen.
- Zuverlässige Kommunikation: Anwendungen, die von anderen Ressourcen mit bestimmten IP-Adressen abhängen, können mithilfe von dauerhaften IP-Adressen zuverlässig Verbindungen herstellen. Dauerhafte IP-Adressen sind wichtig für ältere Systeme oder Anwendungen mit hartcodierten IP-Adressabhängigkeiten.
- Legacy-Migrationen: Legacy-Migrationen können bei der Migration von Anwendungen helfen, die während des Übergangs bestimmte IP-Adressen benötigen.
- BYOIP: Mit BYOIP können Sie bestimmte IP-Adressbereiche, die Ihnen bereits gehören, in Ihren GKE-Clustern verwenden und so die Kontrolle darüber behalten.
Nächste Schritte
- Kommunikation mit nichtflüchtigen IP-Adressen in GKE-Pods steuern
- Unterstützung mehrerer Netzwerke für Pods
- Lesen Sie Unterstützung mehrerer Netzwerke für Pods einrichten.