Auf dieser Seite wird erläutert, wie Sie eine zuverlässige Kommunikation erreichen, indem Sie bestimmten Pods in Ihren Google Kubernetes Engine-Clustern (GKE-Clustern) eine oder mehrere nichtflüchtige (statische) IP-Adressen direkt 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 Kontrolle über die IP-Adressen haben, 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. Schnittstellen-IP-Adressen ändern sich, wenn der Pod neu gestartet oder verschoben wird. Wenn Sie mehr Kontrolle über die Routingkommunikation haben möchten, können Sie nichtflüchtige IP-Adressen für Ihre Pods manuell 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.
Terminologie und Konzepte
Auf dieser Seite werden die folgenden Konzepte verwendet:
Gateway-Klassen
Gateway-Klassen, die Ihre persistenten IP-Adresszuweisungen verwalten, gehören zu 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 Layer-3-Netzwerkrouting (L3) ausgerichtet.
Gateway-Objekte
Gateway-Objekte dienen als zentrale Stelle für die Verwaltung und Konfiguration nichtflüchtiger IP-Adressen. Gateway-Objekte in GKE verwalten einen Pool nichtflüchtiger IP-Adressen. Sie führen diese Adressen auf und definieren Regeln für die Zuweisung dieser IP-Adressen zu GKEIPRoute
.
Listener
Ein Listener ist Teil Ihrer GKE-Gateway-Konfiguration. Damit wird gesteuert, welche Pods in Gateway-Namespaces die nichtflüchtigen IP-Adressen des Gateways verwenden können. Mit dem Listener können Sie den Zugriff für mehr Flexibilität und Sicherheit anpassen. Jeder Listener benötigt einen eindeutigen Namen und Sie können den Zugriff nach Namespace filtern (alle, labelbasiert oder nur der Namespace des Gateways).
GKEIPRoute-Objekt
Das GKEIPRoute-Objekt ist eine benutzerdefinierte Ressource, die Sie konfigurieren, um einem bestimmten Pod in Ihrem GKE-Cluster eine nichtflüchtige IP-Adresse zuzuweisen. Sie können den Statusabschnitt des GKEIPRoute
-Objekts verwenden, um die Einrichtung der persistenten IP-Adresse zu überwachen, die wichtige Informationen über die folgenden Felder bereitstellt:
Pod
Im Feld Pod wird der genaue Name des Pods angezeigt, der mit den nichtflüchtigen IP-Adressen verknüpft ist. Ein einzelner Pod kann mehrere persistente IP-Adressen verwenden.
Bedingungen
Das Feld Bedingungen gibt an, ob die Einrichtung der externen IP-Adresse ordnungsgemäß funktioniert. Außerdem können Sie damit Probleme diagnostizieren, wenn Ihre Konfiguration ungültig ist. Es gibt vier Bedingungen:
Accepted
: Gibt an, ob die RessourcenspezifikationGKEIPRoute
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 vorbereitet hat. Fehler während der Bereitstellung von Google Cloud-Ressourcen werden im Status der BedingungGCPReady
angezeigt.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 unter der persistenten IP-Adresse erreicht werden, sofern Sie Ihre Anwendung für deren Verwendung konfiguriert haben. Dies wird aufTrue
gesetzt, wenn alle anderen drei vorhergehenden Bedingungen ebenfallsTrue
sind.
Reaktionsmodi
Reaktionsmodi bestimmen, wie sich das System verhält, wenn der mit einer nichtflüchtigen IP-Adresse verknüpfte Pod geändert wird, z. B. wenn er zwischen Knoten verschoben wird oder ein neu erstellter übereinstimmender Pod verfügbar ist. Mit Reaktionsmodi können Sie Ihre nichtflüchtigen IP-Adressen auch dann nutzbar halten, 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 ist ideal für Anwendungen, bei denen der Pod, der die persistente IP-Adresse empfängt, vollständig für die Verarbeitung des eingehenden und ausgehenden Traffics vorbereitet sein muss.Vorhanden
Im Modus Vorhanden wird das Vorhandensein eines Pods priorisiert. Die nichtflüchtige IP-Adresse wird einem Pod hinzugefügt, wenn dieser Pod mit den Labels in Ihrer Konfiguration übereinstimmt und für einen bestimmten Knoten in Ihrem Cluster geplant wurde. Das bedeutet, dass der Pod vorhanden ist und an einem bestimmten Ort ausgeführt werden soll. 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 Kubernetes-Arbeitslast, die für Anwendungen entwickelt wurde, die stabile Kennzeichnungen und nichtflüchtigen Speicher benötigen. Pods innerhalb eines StatefulSet haben vorhersehbare Namen (z. B. my-app-0, my-app-1).
Deployments
Deployments sind eine Art Kubernetes-Arbeitslast zur Verwaltung zustandsloser Anwendungen, bei denen Pods in der Regel austauschbar sind. Pod-Namen in Deployments sind nicht vollständig vorhersehbar.
Anwendungsfälle
Nichtflüchtige IP-Adressen für GKE-Pods berücksichtigen mehrere Anwendungsfälle für Netzwerk- und Sicherheitsdienstanbieter, die netzwerkbezogene Anwendungen in GKE und GKE Enterprise ausführen.
Nichtflüchtige IP-Adressen für GKE-Pods berücksichtigen folgende Anwendungsfälle:
- Kontrolle über NAT: Durch die Zuweisung nichtflüchtiger IP-Adressen an Pods, die Netzwerkfunktionen ausführen, erhalten Sie detaillierte Kontrolle über die Quell-IP-Adressen, die für ausgehenden Traffic verwendet werden. Auf diese Weise können Sie Ihre proprietäre NAT-Logik einbinden.
- Dedizierte IP-Adresspools: Mit dedizierten IP-Adressen können Sie bestimmte Adressen einzelnen 5G-Core-Pods zuordnen und so die Kompatibilität mit spezieller Anbietersoftware gewährleisten.
- Zuverlässige Traffic-Abläufe: Da der Rücktraffic über dieselbe Netzwerkfunktion zurückgeleitet werden muss, sorgen persistente IP-Adressen dafür, dass externe Systeme den richtigen Pod ohne Kommunikationsunterbrechung erkennen und darauf reagieren.
Vorteile
Nichtflüchtige IP-Adressen für GKE-Pods bieten folgende Vorteile:
- Externe Identität: Wenn Sie einem Pod eine externe nichtflüchtige IP-Adresse zuweisen, können externe Systeme diesen Pod konsistent erreichen, auch wenn er neu gestartet oder innerhalb des Clusters verschoben wird. Dies ist hilfreich für Dienste, die einen extern erkennbaren Endpunkt benötigen.
- Zuverlässige Kommunikation: Anwendungen, die von anderen Ressourcen mit bestimmten IP-Adressen abhängen, können zuverlässig Verbindungen über persistente IP-Adressen herstellen. Nichtflüchtige IP-Adressen sind wichtig für Legacy-Systeme oder Anwendungen mit hartcodierten IP-Adressabhängigkeiten.
- Legacy-Migrationen: Legacy-Migrationen können die Migration von Anwendungen unterstützen, die während des Umstellungsprozesses bestimmte IP-Adressen benötigen.
- BYOIP (Bring Your Own IP): Mit BYOIP können Sie die Kontrolle über bestimmte IP-Adressbereiche behalten, die Sie bereits haben. Dazu verwenden Sie sie in Ihren GKE-Clustern.
Nächste Schritte
- Kommunikation mit nichtflüchtigen IP-Adressen für GKE-Pods steuern
- Mehr über die Multi-Netzwerk-Unterstützung für Pods erfahren
- Lesen Sie Unterstützung mehrerer Netzwerke für Pods einrichten.