Pod-IPv4-Adressbereiche hinzufügen

Auf dieser Seite erfahren Sie, wie Sie zusätzliche Pod-IPv4-Adressbereiche für einen VPC-nativer Cluster konfigurieren und benutzerdefinierte Pod-IPv4-Adressbereiche für Knotenpools eines VPC-nativer Cluster 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 er zusätzliche Pod-IPv4-Adressbereiche verwendet. 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.

Hinweis

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, installieren und dann initialisieren Sie die gcloud CLI. Wenn Sie die gcloud CLI bereits installiert haben, rufen Sie die neueste Version mit dem gcloud components update Befehl ab. Ältere gcloud CLI-Versionen unterstützen möglicherweise nicht die Ausführung der Befehle in diesem Dokument.
  • Sie benötigen die IAM-Rolle (Identity and Access Management) Compute-Netzwerk administrator für das Projekt, zu dem das Subnetz des Clusters gehört. Diese Rolle ist erforderlich, um neue sekundäre IPv4-Adressbereiche des Subnetzes zu erstellen. Bei Verwendung einer freigegebene VPC müssen Sie sich mit dem Netzwerkadministrator für das Hostprojekt der freigegebene VPC abstimmen.
  • Standardmäßig sind alle neuen Cluster VPC-nativ. Wenn Sie einen neuen Cluster benötigen, erstellen Sie einen Autopilot Cluster. 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 170 sekundäre IPv4-Adressbereiche. Weitere Informationen finden Sie unter Sekundäre IPv4 Bereiche bearbeiten in der VPC-Dokumentation.

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 \
    --secondary-range=POD_RANGE_NAME=SECONDARY_RANGE

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.

Cluster zusätzliche Pod-IPv4-Bereiche zuweisen

Sie können zusätzliche Pod-IPv4-Adressbereiche auf Clusterebene zuweisen. Diese gelten für neue Knoten, 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 IPv4-Adressbereich des Subnetzes erstellen.

Wenn Sie einem Cluster neue Pod-IPv4-Adressbereiche hinzufügen, werden diese nicht automatisch für vorhandene Knotenpools verfügbar. Dieses Verhalten tritt auf, weil der IP-Adressbereich eines Knotenpools eine unveränderliche Einstellung ist, die beim Erstellen des Knotenpools definiert wird. Ein vorhandener Knotenpool kennt nur seinen ursprünglichen Bereich. Wenn Sie einen neuen Pod-IPv4-Adressbereich verwenden möchten, erstellen Sie einen neuen Knotenpool und weisen Sie ihm diesen neuen Pod-IPv4-Adressbereich zu.

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

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

Console

  1. Öffnen Sie in der Google Cloud Console die Seite Google Kubernetes Engine.

    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 Flag --additional-pod-ipv4-ranges:

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

    Ersetzen Sie Folgendes:

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 zu ermitteln, die dem Cluster zugewiesen wurden:

gcloud container clusters describe CLUSTER_NAME \
    --location=COMPUTE_LOCATION

Ersetzen Sie Folgendes:

Die Ausgabe sieht in etwa so aus und enthält die IPAllocationPolicy des Clusters: IPAllocationPolicy:

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 aller zusätzlich zugewiesenen sekundären IPv4-Adressbereiche des Subnetzes für Pod-IPv4-Adressen.

Benutzerdefinierte Pod-IPv4-Adressbereiche für 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, das das Subnetz des Clusters enthält, im selben Projekt befinden.

  • Benutzerdefinierter Pod-IPv4-Adressbereich des Knotenpools, vom Nutzer verwaltet: 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 gemeinsam genutzten VPC-Dienstprojekt befindet und sich das Subnetz Ihres Clusters im freigegebene 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 Multi-Pod-CIDR bezeichnet.

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

Das folgende Diagramm zeigt einen VPC-nativer Cluster mit vom Nutzer verwalteten 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:

  • 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 ein /25 für Pod-IPv4-Adressen benötigt, unterstützt der Standard-Pod-IPv4-Adressbereich des Clusters nur zwei Knoten.
  • Zur Unterstützung zusätzlicher Knoten hat ein Clusteradministrator einen zusätzlichen Knotenpool erstellt, wobei die maximale Anzahl von Pods pro Knoten bei 64 bleibt. Der zusätzliche Knotenpool verwendet einen benutzerdefinierten /20-Pod-IPv4-Adressbereich, 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=COMPUTE_LOCATION \
  --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.
  • COMPUTE_LOCATION: der Compute Engine-Standort für den Cluster.
  • 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 Knotenpools, vom Nutzer verwaltet

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=COMPUTE_LOCATION \
    --pod-ipv4-range SECONDARY_RANGE_NAME

Ersetzen Sie Folgendes:

  • POOL_NAME: Der Name des neuen Knotenpools.
  • CLUSTER_NAME: Der Name des Clusters.
  • COMPUTE_LOCATION: der Compute Engine-Standort für den Cluster.
  • 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 zu ermitteln:

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

Ersetzen Sie Folgendes:

  • POOL_NAME: Der Name des Knotenpools.
  • CLUSTER_NAME: Der Name des Clusters.
  • COMPUTE_LOCATION: der Compute Engine-Standort für den Cluster.

Die Ausgabe sieht in etwa so aus und enthält die NodeNetworkConfig des Knotenpools: NodeNetworkConfig

  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: Das 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 von 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