Pod-IPv4-Adressbereiche hinzufügen


Auf dieser Seite erfahren Sie, wie Sie zusätzliche Pod-IPv4-Adressbereiche für einen VPC-nativen Cluster konfigurieren und benutzerdefinierte Pod-IPv4-Adressbereiche für Knotenpools eines VPC-nativen Clusters angeben.

Pod-IPv4-Adressbereiche in VPC-nativen Clustern stammen immer aus sekundären IPv4-Adressbereichen des Subnetzes. Beim Erstellen eines neuen Clusters weisen Sie diesem einen Standard-Pod-IPv4-Adressbereich zu.

  • Für Autopilot- und Standardcluster können Sie einen Cluster so konfigurieren, dass zusätzliche Pod-IPv4-Adressbereiche verwendet werden. GKE verwendet diese zusätzlichen Pod-IPv4-Adressbereiche für Pod-IPv4-Adressen auf Knoten, die in zukünftigen Knotenpools erstellt werden.
  • Für Standardcluster können Sie Knotenpools erstellen, die jeweils einen benutzerdefinierten sekundären IPv4-Adressbereich des Subnetzes für ihre Pod-IPv4-Adressen verwenden.

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 diese Aufgabe 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.
  • Sie benötigen die IAM-Rolle (Identity and Access Management) Compute-Netzwerkadministrator für das Projekt, zu dem das Subnetz des Clusters gehört. Dies ist erforderlich, um neue sekundäre IPv4-Adressbereiche des Subnetzes zu erstellen. Wenn Sie eine freigegebene VPC verwenden, müssen Sie sich mit dem Netzwerkadministrator für das Hostprojekt der freigegebenen VPC abstimmen.
  • Sorgen Sie dafür, dass Ihr GKE-Cluster ein VPC-nativer Cluster ist. Routenbasierte Cluster unterstützen weder zusätzliche Pod-IPv4-Adressbereiche noch benutzerdefinierte Pod-IPv4-Adressbereiche für Knotenpools.
  • Lesen Sie den Abschnitt weiterführende Schritte.

Neuen sekundären IPv4-Adressbereich des Subnetzes erstellen

Verwenden Sie zum Erstellen eines neuen sekundären IPv4-Adressbereichs eines Subnetzes die Google Cloud Console oder die Google Cloud CLI. Jedes Subnetz unterstützt bis zu 30 sekundäre IPv4-Adressbereiche. Weitere Informationen finden Sie in der VPC-Dokumentation unter Sekundäre IPv4-Bereiche bearbeiten.

Console

  1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.

    Zur Seite VPC-Netzwerke

  2. Wählen Sie in der Liste VPC-Netzwerke das Netzwerk aus, das Sie erweitern möchten.

  3. Wählen Sie in der Liste Subnetze das gewünschte Subnetz aus.

  4. Klicken Sie auf Bearbeiten.

  5. Klicken Sie auf IP-Bereich hinzufügen.

  6. Geben Sie unter Name des Subnetzbereichs den Namen des neuen sekundären IPv4-Adressbereichs des Subnetzes ein. Beispiel: pod-range-2.

  7. Geben Sie unter Sekundärer IP-Bereich den IPv4-Adressbereich im CIDR-Format ein. Beispiel: 10.2.204.0/22.

  8. Klicken Sie auf Speichern.

gcloud

gcloud compute networks subnets update SUBNET_NAME \
    --region=REGION \
    --add-secondary-ranges=SECONDARY_RANGE_NAME=SECONDARY_RANGE_CIDR

Ersetzen Sie Folgendes:

  • SUBNET_NAME – den Namen des Subnetzes des Clusters (das Subnetz, das dem Cluster bei seiner Erstellung zugewiesen wurde).
  • REGION – die Region des Subnetzsubnetzes des Clusters. Die Region des Subnetzes des Clusters ist die Region, die den GKE-Cluster enthält.
  • SECONDARY_RANGE_NAME – den Namen des neuen sekundären IPv4-Adressbereichs des Subnetzes, der als zusätzlicher Pod-IPv4-Adressbereich für den Cluster dient. Beispiel: pod-range-2.
  • SECONDARY_RANGE_CIDR das CIDR, das vom neuen sekundären IPv4-Adressbereich des Subnetzes verwendet werden soll. Beispiel: 10.2.204.0/22.

Sie können zwei oder mehr neue sekundäre Subnetz-IPv4-Adressbereiche hinzufügen. Geben Sie dazu nach dem Flag --add-secondary-ranges zusätzliche, durch Kommas getrennte SECONDARY_RANGE_NAME=SECONDARY_RANGE_CIDR-Paare an.

Einem Cluster zusätzliche Pod-IPv4-Bereiche zuweisen

Sie können zusätzliche Pod-IPv4-Adressbereiche auf Clusterebene zuweisen, die für neue Knoten gelten, die in neuen Knotenpools erstellt werden, die Sie im Cluster erstellen. Wenn Sie einem Cluster zusätzliche Pod-IPv4-Adressbereiche zuweisen möchten, müssen Sie zuerst einen neuen sekundären Subnetz-IPv4-Adressbereich erstellen.

Das Zuweisen zusätzlicher Pod-IPv4-Adressbereiche zu einem Cluster wird unterstützt durch:

  • Autopilot-Cluster mit GKE-Version 1.26 und höher
  • Standardcluster

Console

  1. Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf.

    Zur Seite "Google Kubernetes Engine"

  2. Klicken Sie neben dem Cluster, den Sie bearbeiten möchten, auf Aktionen und dann auf Bearbeiten.

  3. Klicken Sie im Abschnitt Netzwerk neben Pod-IPv4-Bereiche des Clusters (zusätzliche) auf Bearbeiten.

  4. Klicken Sie im Dialogfeld Zusätzliche IPv4-Bereiche für Cluster-Pods bearbeiten auf Sekundäre Pod-CIDR-Bereiche und wählen Sie die Namen eines oder mehrerer vorhandener sekundärer Subnetz-IPv4-Adressbereichen im Subnetz des Clusters. Wenn keine zusätzlichen sekundären IPv4-Adressbereiche des Subnetzes verfügbar sind, erstellen Sie zuerst einen neuen sekundären Subnetze-IPv4-Adressbereich und wiederholen diese Schritte.

  5. Klicken Sie auf Änderungen speichern.

gcloud

  1. Aktualisieren Sie Ihren Cluster mit dem --additional-pod-ipv4-ranges-Flag:

    gcloud container clusters update CLUSTER_NAME \
        --additional-pod-ipv4-ranges=SECONDARY_RANGE_NAME \
        --location=ZONE_OR_REGION
    

    Ersetzen Sie Folgendes:

    • CLUSTER_NAME: Der Name des Clusters.
    • SECONDARY_RANGE_NAME: Der Name eines oder mehrerer vorhandener sekundärer IPv4-Adressbereiche des Subnetzes im Subnetz des Clusters, durch Kommas getrennt. Wenn keine sekundären Subnetze-IPv4-Adressbereiche verfügbar sind, erstellen Sie zuerst einen neuen sekundären Subnetze-IPv4-Adressbereich.
    • ZONE_OR_REGION: Bei zonalen Clustern die Compute Engine-Zone, in der sich der Cluster befindet. Bei regionalen Clustern die Compute Engine-Region, in der sich der Cluster befindet. Eine Liste der Zonen und Regionen finden Sie unter Regionen und Zonen in der Compute Engine-Dokumentation.

Pod-IPv4-Bereiche des Clusters anzeigen

Verwenden Sie den folgenden Befehl, um den Standard-Pod-IPv4-Adressbereich eines Clusters und alle zusätzlichen Pod-IPv4-Adressbereiche abzurufen, die dem Cluster zugewiesen wurden:

gcloud container clusters describe CLUSTER_NAME \
  --location=ZONE_OR_REGION

Ersetzen Sie Folgendes:

  • CLUSTER_NAME: Der Name des Clusters.
  • ZONE_OR_REGION: Bei zonalen Clustern die Compute Engine-Zone, in der sich der Cluster befindet. Bei regionalen Clustern die Compute Engine-Region, in der sich der Cluster befindet.

Die Ausgabe sieht in etwa so aus, einschließlich der IPAllocationPolicy des Clusters:

ipAllocationPolicy:
  clusterSecondaryRangeName: cluster-pods
  clusterIpv4CidrBlock: 10.10.0.0/23
  additionalPodRangesConfig:
    podRangeNames:
      - pod-range-1
      - pod-range-2

Dabei gilt:

  • clusterSecondaryRangeName: Der Name des sekundären IPv4-Adressbereichs des Subnetzes, der als Standard-Pod-IPv4-Adressbereich des Clusters verwendet und beim Erstellen des Clusters definiert wurde.
  • clusterIpv4CidrBlock: Das CIDR des sekundären IPv4-Adressbereichs des Subnetzes für Pod-IPv4-Adressen, das beim Erstellen des Clusters definiert wurde.
  • additionalPodRangesConfig.podRangeNames: Eine Liste eines zusätzlichen zugewiesenen sekundären IPv4-Adressbereichs des Subnetzes für Pod-IPv4-Adressen.

Benutzerdefinierte Pod-IPv4-Adressbereiche des Knotenpools

Bei Standardclustern mit GKE 1.20.4-gke.500 oder höher können Sie neuen Knotenpools mit einer der folgenden Methoden einen benutzerdefinierten Pod-IPv4-Bereich zuweisen:

  • Benutzerdefinierter Pod-IPv4-Adressbereich des Knotenpools, von GKE verwaltet: Mit dieser Option erstellen Sie einen neuen Knotenpool und senden GKE die erforderlichen Informationen zum Erstellen eines neuen sekundären IPv4-Adressbereich im Subnetz des Clusters. Jedem neuen, im neuen Knotenpool erstellten Knoten wird ein Alias-IP-Adressbereich für dessen Pod-IPv4-Adressen zugewiesen. Dabei stammt jeder Alias-IP-Adressbereich aus dem neuen sekundären IPv4-Adressbereich des Subnetzes, den GKE erstellt. Diese Option kann nur verwendet werden, wenn sich sowohl der Cluster als auch das VPC-Netzwerk mit dem Subnetz des Clusters im selben Projekt befinden.

  • Benutzerdefinierter Pod-IPv4-Adressbereich des vom Nutzer verwalteten Knotenpools: Mit dieser Option erstellen Sie einen neuen Knotenpool, in dem GKE einen vorhandenen sekundären IPv4-Adressbereich des Subnetzes verwendet. Jedem im neuen Knotenpool erstellten neuen Knoten wird ein Alias-IP-Adressbereich für dessen Pod-IPv4-Adressen zugewiesen. Dabei stammt jeder Alias-IP-Adressbereich aus dem sekundären Subnetzes-IPv4-Adressbereich, den GKE laut Ihren Anweisungen verwenden soll. Wenn sich Ihr Cluster in einem Dienstprojekt einer freigegebenen VPC befindet und sich das Subnetz des Clusters im freigegebenen VPC-Netzwerk des Hostprojekts befindet, müssen Sie diese Option verwenden.

Der benutzerdefinierte Pod-IPv4-Adressbereich eines Knotenpools überschreibt alle Pod-IPv4-Adressbereiche, die auf Clusterebene definiert sind, einschließlich zusätzlicher, dem Cluster zugewiesener Pod-IPv4-Adressbereiche. Benutzerdefinierte Pod-IPv4-Adressbereiche, die Knotenpools zugewiesen sind, werden auch als nicht zusammenhängendes CIDR für mehrere Pods bezeichnet.

Beispiel: Benutzerdefinierter Pod-IPv4-Adressbereich für Knotenpools

Das folgende Diagramm zeigt einen VPC-nativen Cluster mit nutzerverwalteten Pod-IPv4-Adressbereichen:

Knotenpool zu einem Cluster mit einem aufgebrauchten sekundären Pod-IP-Adressbereich mithilfe eines nicht zusammenhängenden Multi-Pod-CIDR hinzufügen
Diagramm: Beispiel für einen benutzerdefinierten Pod-IPv4-Adressbereich für Knotenpools

Im obigen Diagramm gilt Folgendes:

  • Die maximale Anzahl von Pods pro Knoten für jeden Knotenpool im Cluster wurde auf 64 festgelegt. Zur Unterstützung von maximal 64 Pods pro Knoten erstellt GKE jeden Knoten mit einem /25-Alias-IP-Adressbereich und stellt 128 Pod-IPv4-Adressen pro Knoten bereit.
  • Der Standard-Pod-IPv4-Adressbereich des Clusters ist ein /24. Da jeder Knoten einen /25 für Pod-IPv4-Adressen benötigt, unterstützt der Standard-Pod-IPv4-Adressbereich des Clusters nur zwei Knoten.
  • Zur Unterstützung weiterer Knoten hat ein Clusteradministrator einen zusätzlichen Knotenpool erstellt, wobei die maximale Anzahl von 64-Pods pro Knoten beibehalten wird. Der zusätzliche Knotenpool verwendet einen benutzerdefinierten Pod-IPv4-Adressbereich /20, der 32 zusätzliche Knoten unterstützt.

GKE-verwalteter benutzerdefinierter Pod-IPv4-Adressbereich des Knotenpools

Verwenden Sie zum Erstellen eines Knotenpools mit einem von GKE verwalteten benutzerdefinierten Pod-IPv4-Adressbereich die gcloud CLI oder die GKE API:

gcloud

gcloud container node-pools create POOL_NAME \
  --cluster=CLUSTER_NAME \
  --location=ZONE_OR_REGION \
  --create-pod-ipv4-range=name=SECONDARY_RANGE_NAME,range=CIDR_OR_NETMASK

Ersetzen Sie Folgendes:

  • POOL_NAME: Der Name des neuen Knotenpools.
  • CLUSTER_NAME: Der Name des Clusters.
  • ZONE_OR_REGION: Bei zonalen Clustern die Compute Engine-Zone, in der sich der Cluster befindet. Bei regionalen Clustern die Compute Engine-Region, in der sich der Cluster befindet. Eine Liste der Zonen und Regionen finden Sie unter Regionen und Zonen.
  • SECONDARY_RANGE_NAME: Der Name des sekundären IPv4-Adressbereichs des Subnetzes, den GKE erstellt. Wenn Sie name=SECONDARY_RANGE_NAME weglassen, generiert GKE den Namen des neuen sekundären IPv4-Adressbereichs des Subnetzes automatisch.
  • CIDR_OR_NETMASK: Der Pod-IPv4-Adressbereich, entweder im CIDR-Format (z. B. 10.12.4.0/20) oder als Subnetzmaske (z. B. /20) angegeben.
    • Wenn Sie nur eine Subnetzmaske angeben, versucht GKE, einen neuen sekundären Subnetz-IPv4-Adressbereich zu erstellen, der nicht mit vorhandenen Subnetz-IPv4-Adressbereichen in dem VPC-Netzwerk in Konflikt steht, welches das Subnetz des Clusters enthält.
    • Wenn Sie range=CIDR_OR_NETMASK weglassen, versucht GKE, einen neuen sekundären Subnetz-IPv4-Adressbereich /14 zu erstellen, der nicht mit vorhandenen Subnetz-IPv4-Adressbereichen im VPC-Netzwerk in Konflikt steht, welches das Subnetz des Clusters enthält.

API

"nodePool": {
  "name": "POOL_NAME",
  ...
  "networkConfig": {
    "createPodRange": true,
    "podRange": "SECONDARY_RANGE_NAME",
    "podIpv4CidrBlock": "CIDR_OR_NETMASK"
    }
}

Ersetzen Sie Folgendes:

  • POOL_NAME: Der Name des neuen Knotenpools.
  • SECONDARY_RANGE_NAME: (Optional) Der Name des sekundären IPv4-Adressbereichs des Subnetzes, den GKE erstellt. Wenn Sie "" als Wert für networkConfig.podRange verwenden oder den Parameter podRange in der Anfrage weglassen, generiert GKE den Namen des neuen sekundären IPv4-Adressbereichs des Subnetzes automatisch.
  • CIDR_OR_NETMASK: Der Pod-IPv4-Adressbereich, entweder im CIDR-Format (z. B. 10.12.4.0/20) oder als Subnetzmaske (z. B. /20) angegeben.
    • Wenn Sie nur eine Subnetzmaske angeben, versucht GKE, einen neuen sekundären Subnetz-IPv4-Adressbereich zu erstellen, der nicht mit vorhandenen Subnetz-IPv4-Adressbereichen in dem VPC-Netzwerk in Konflikt steht, welches das Subnetz des Clusters enthält.
    • Wenn Sie "" als Wert für networkConfig.podIpv4CidrBlock verwenden, versucht GKE, einen neuen sekundären Subnetz-IPv4-Adressbereich /14 zu erstellen, der nicht mit vorhandenen Subnetz-IPv4-Adressbereichen im VPC-Netzwerk, welches das Subnetz des Clusters enthält, in Konflikt steht.

Benutzerdefinierter Pod-IPv4-Adressbereich des vom Nutzer verwalteten Knotenpools

Verwenden Sie zum Erstellen eines Knotenpools mit einem vom Nutzer verwalteten benutzerdefinierten Pod-IPv4-Adressbereich die gcloud CLI oder die GKE API:

gcloud

gcloud container node-pools create POOL_NAME \
  --cluster=CLUSTER_NAME \
  --location=ZONE_OR_REGION \
  --pod-ipv4-range SECONDARY_RANGE_NAME

Ersetzen Sie Folgendes:

  • POOL_NAME: Der Name des neuen Knotenpools.
  • CLUSTER_NAME: Der Name des Clusters.
  • ZONE_OR_REGION: Bei zonalen Clustern die Compute Engine-Zone, in der sich der Cluster befindet. Bei regionalen Clustern die Compute Engine-Region, in der sich der Cluster befindet. Eine Liste der Zonen und Regionen finden Sie unter Regionen und Zonen in der Compute Engine-Dokumentation.
  • SECONDARY_RANGE_NAME: Der Name eines vorhandenen sekundären Subnetz-IPv4-Adressbereichs im Subnetz des Clusters. Erstellen Sie bei Bedarf zuerst einen neuen sekundären Subnetz-IPv4-Adressbereich.

API

"nodePool": {
  "name": "POOL_NAME",
  ...
  "networkConfig": {
    "createPodRange": false,
    "podRange": "SECONDARY_RANGE_NAME"
    }
}

Ersetzen Sie Folgendes:

  • POOL_NAME: Der Name des neuen Knotenpools.
  • SECONDARY_RANGE_NAME: Der Name eines vorhandenen sekundären Subnetz-IPv4-Adressbereichs im Subnetz des Clusters. Erstellen Sie bei Bedarf zuerst einen neuen sekundären Subnetz-IPv4-Adressbereich.

Pod-IPv4-Bereiche von Knotenpools anzeigen

Verwenden Sie den folgenden Befehl, um den Pod-IPv4-Adressbereich eines Knotenpools abzurufen:

gcloud container node-pools describe POOL_NAME \
  --cluster=CLUSTER_NAME \
  --location=ZONE_OR_REGION

Ersetzen Sie Folgendes:

  • POOL_NAME: Der Name des Knotenpools.
  • CLUSTER_NAME: Der Name des Clusters.
  • ZONE_OR_REGION: Bei zonalen Clustern die Compute Engine-Zone, in der sich der Cluster befindet. Bei regionalen Clustern die Compute Engine-Region, in der sich der Cluster befindet.

Die Ausgabe sieht ähnlich aus wie die folgende, die die NodeNetworkConfig des Knotenpools enthält:

  networkConfig:
    podRange: podrange
    podIpv4CidrBlock: 192.168.0.0/18

Dabei gilt:

  • podRange: Der Name des sekundären IPv4-Adressbereichs des Subnetzes für die Pod-IPv4-Adressen des Knotenpools.
  • podIpv4CidrBlock: Der CIDR des sekundären IPv4-Adressbereichs des Subnetzes für die Pod-IPv4-Adressen des Knotenpools.

Wenn der Knotenpool einen benutzerdefinierten Pod-IPv4-Adressbereich verwendet, unterscheiden sich die Werte podRange und podIpv4CidrBlock vom Standard-Pod-IPv4-Adressbereich des Clusters.

Weitere Schritte

Nachdem Sie einem Cluster zusätzliche Pod-IPv4-Adressbereiche zugewiesen oder benutzerdefinierte Pod-IPv4-Adressbereiche für Knotenpools konfiguriert haben, aktualisiert GKE die automatisch erstellte VPC-Firewallregel gke-[cluster-name]-[cluster-hash]-all, damit der Quellbereich alle Pod-IPv4-Adressen enthält.

Möglicherweise müssen Sie auch Folgendes tun:

Nächste Schritte