Maximale Anzahl von Pods pro Knoten konfigurieren


Auf dieser Seite wird erläutert, wie Sie die maximal auf einem Knoten ausführbare Anzahl von Pods für Standardcluster konfigurieren können. Dieser Wert bestimmt die Größe der IP-Adressbereiche, die Knoten in Google Kubernetes Engine (GKE) zugewiesen sind. Den auf einem Knoten ausgeführten Pods werden IP-Adressen aus dem Pod-CIDR-Bereich des Knotens zugeordnet.

Bei der Planung verwendet GKE die maximale Anzahl von Pods pro Knoten, um festzustellen, ob genügend Kapazität zum Planen eines Pods vorhanden ist. Nur Pods, die einem Knoten zugewiesen wurden und noch nicht beendet wurden (Failed- oder Succeeded-Phase), werden auf diese Kapazität angerechnet.

Die Schritte auf dieser Seite gelten nicht für Autopilot-Cluster, da die maximale Anzahl an Knoten vorkonfiguriert und unveränderlich ist.

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 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.

Einschränkungen

  • Sie können die maximale Anzahl von Pods pro Knoten nur in VPC-nativen Clustern konfigurieren.
  • Die Knotenerstellung wird durch die Anzahl der verfügbaren Adressen im Pod-Adressbereich begrenzt. In der Tabelle für die IP-Adressbereichsplanung finden Sie die standardmäßigen, minimalen und maximalen Pod-Adressbereichsgrößen. Sie können zusätzliche Pod-IP-Adressen mithilfe des zusammenhängenden CIDR-Formats für mehrere Pods hinzufügen.
  • Jeder Cluster muss Kube-System-Pods wie kube-proxy im Namespace kube-system erstellen. Berücksichtigen Sie sowohl Ihre Arbeitslast-Pods als auch System-Pods, wenn Sie die maximale Anzahl von Pods pro Knoten reduzieren. Führen Sie den folgenden Befehl aus, um System-Pods in Ihrem Cluster aufzulisten:

    kubectl get pods --namespace kube-system
    

Maximale Anzahl von Pods pro Knoten konfigurieren

Sie haben die Möglichkeit, die maximale Anzahl von Pods pro Knoten beim Erstellen eines Clusters oder eines Knotenpools zu konfigurieren. Diese Einstellung kann nach der Erstellung des Clusters oder Knotenpools nicht mehr geändert werden.

Wenn Sie jedoch keine Pod-IP-Adressen mehr haben, können Sie mithilfe von nicht übereinstimmenden Multi-Pod-CIDRs zusätzliche Pod-IP-Adressbereiche erstellen.

Sie können die Größe des Pod-Adressbereichs beim Erstellen eines Clusters mithilfe der gcloud CLI oder der Google Cloud Console festlegen.

gcloud

Führen Sie den folgenden Befehl aus, um mit der gcloud CLI die maximalen Standard-Pods pro Knoten festzulegen:

gcloud container clusters create CLUSTER_NAME \
    --enable-ip-alias \
    --cluster-ipv4-cidr=10.0.0.0/21 \
    --services-ipv4-cidr=10.4.0.0/19 \
    --create-subnetwork=name='SUBNET_NAME',range=10.5.32.0/27 \
    --default-max-pods-per-node=MAXIMUM_PODS \
    --location=COMPUTE_LOCATION

Dabei gilt:

  • CLUSTER_NAME: Der Name des neuen Clusters.
  • SUBNET_NAME: Der Name des neuen Subnetzwerks für Ihren Cluster.
  • MAXIMUM_PODS: Die standardmäßige maximale Anzahl von Pods pro Knoten für Ihren Cluster kann bis auf 256 konfiguriert werden. Wenn keine Angabe gemacht wird, weist Kubernetes den Standardwert 110 zu.
  • COMPUTE_LOCATION: der Compute Engine-Standort für den neuen Cluster.

Console

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

    Zur Seite „Google Kubernetes Engine“

  2. Klicken Sie auf Erstellen.

  3. Konfigurieren Sie den neuen Cluster.

  4. Klicken Sie im Navigationsbereich unter Cluster auf Netzwerk.

  5. Achten Sie darauf, dass das Kästchen neben VPC-natives Traffic-Routing aktivieren (verwendet Alias-IP-Adresse) aktiviert ist.

  6. Klicken Sie im Navigationsbereich unter Knotenpools auf Knoten.

  7. Geben Sie im Feld Maximale Anzahl Pods pro Knoten den Wert 110 an. In GKE wird anhand dieses Wertes die Größe des IP-Adressbereichs von Knoten optimiert.

  8. Klicken Sie auf Erstellen.

Wenn Sie die maximale Anzahl von Pods pro Knoten im Cluster konfigurieren, verwendet Kubernetes diesen Wert, um den Knoten einen CIDR-Bereich zuzuweisen. Sie können die maximale Anzahl von Knoten im Cluster anhand des sekundären IP-Adressbereichs des Clusters für Pods und des zugewiesenen CIDR-Bereichs für den Knoten berechnen.

Wenn Sie beispielsweise die standardmäßige maximale Anzahl von Pods auf 110 und den sekundären IP-Adressbereich für Pods auf /21 festlegen, weist Kubernetes den Knoten im Cluster einen CIDR-Bereich von /24 zu. Dadurch können maximal 2(24-21) = 23 = 8 Knoten im Cluster verwendet werden.

Wenn Sie die standardmäßige maximale Anzahl von Pods auf 8 und den sekundären IP-Adressbereich des Clusters für Pods auf /21 festlegen, weist Kubernetes den Knoten einen CIDR-Bereich von /28 zu. Dadurch können maximal 2(28-21) = 27 = 128 Knoten im Cluster verwendet werden.

Maximale Anzahl von Pods in einem neuen Knotenpool für einen vorhandenen Cluster konfigurieren

Sie können die maximale Anzahl von Pods pro Knoten auch angeben, während Sie einen Knotenpool in einem bestehenden Cluster erstellen. Durch das Erstellen eines neuen Knotenpools können Sie die Zuweisung von IP-Adressen optimieren. Dies gilt auch für bestehende Cluster, in denen keine standardmäßige maximale Anzahl von Pods pro Knoten auf Clusterebene konfiguriert ist.

Durch Festlegen der maximalen Anzahl von Pods auf Knotenpoolebene wird die Standardanzahl der Pods auf Clusterebene überschrieben. Wenn Sie beim Erstellen des Knotenpools keine maximale Anzahl von Pods pro Knoten konfigurieren, wird der maximale Wert auf Clusterebene angewendet.

gcloud

gcloud container node-pools create POOL_NAME \
    --cluster=CLUSTER_NAME \
    --max-pods-per-node=MAXIMUM_PODS

Dabei gilt:

  • POOL_NAME ist der Name des neuen Knotenpools.
  • CLUSTER_NAME ist der Name des Clusters, in dem Sie den Knotenpool erstellen möchten.
  • MAXIMUM_PODS ist die maximale Anzahl von Knoten im Knotenpool.

Console

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

    Zur Seite „Google Kubernetes Engine“

  2. Klicken Sie in der Clusterliste auf den Namen des Clusters, den Sie ändern möchten.

  3. Klicken Sie auf Knotenpool hinzufügen .

  4. Klicken Sie im Navigationsbereich auf Knoten.

  5. Geben Sie unter Netzwerk einen Wert für das Feld Maximale Anzahl Pods pro Knoten ein. In GKE wird anhand dieses Wertes die Größe des IP-Adressbereichs von Knoten optimiert.

Standardmäßige maximale Anzahl von Pods pro Knoten

Standardmäßig lässt GKE bis zu 110 Pods pro Knoten in Standardclustern zu. Standardcluster können jedoch für bis zu 256 Pods pro Knoten konfiguriert werden. Autopilot-Cluster, basierend auf der erwarteten Arbeitslast-Pod-Dichte, wählen die maximale Anzahl von Pods pro Knoten aus einem Bereich zwischen 8 und 256 aus. Jedem Knoten wird in Kubernetes ein IP-Adressbereich bzw. ein CIDR-Block zugewiesen, sodass jeder Pod eine eindeutige IP-Adresse haben kann. Die Größe des CIDR-Blocks entspricht der maximalen Anzahl von Pods pro Knoten.

Pod-CIDR-Bereiche in Standard-Clustern

Bei Verwendung der maximalen Standardanzahl von 110 Pods pro Knoten wird in Kubernetes jedem Knoten ein CIDR-Block der Größe /24 mit 256 Adressen zugewiesen. Wenn Sie mehr als doppelt so viele IP-Adressen haben wie die maximale Anzahl von Pods, die auf einem Knoten erstellt werden können, kann Kubernetes die Wiederverwendung von IP-Adressen reduzieren, wenn Pods einem Knoten hinzugefügt und daraus entfernt werden.

256 Pods pro Knoten sind zwar ein festes Limit, Sie können die Anzahl der Pods auf einem Knoten aber reduzieren. Die Größe des CIDR-Blocks, der einem Knoten zugewiesen wird, hängt von der maximalen Anzahl von Pods pro Knoten ab. Der Block enthält immer mindestens doppelt so viele Adressen wie die maximale Anzahl von Pods pro Knoten.

In der folgenden Tabelle sind die Größe des CIDR-Blocks und die entsprechende Anzahl verfügbarer IP-Adressen aufgeführt, die Kubernetes Knoten basierend auf der maximalen Anzahl von Pods pro Knoten zuweist:

Maximale Anzahl von Pods pro Knoten CIDR-Bereich pro Knoten Anzahl der IP-Adressen
8 /28 16
9–16 /27 32
17–32 /26 64
33–64 /25 128
65 – 128 /24 256
129 - 256 /23 512

Pod-CIDR-Bereiche in Autopilot-Clustern

Die Standardeinstellungen für CIDR-Größen von Autopilot-Clustern lauten so:

  • Subnetzwerkbereich: /23
  • Sekundärer IP-Adressbereich für Pods: /17
  • Sekundärer IP-Adressbereich für Services: /22

Autopilot hat einen maximalen Pod pro Knoten von 32. Wie bei GKE Standard wird dadurch ein /26-Bereich pro Knoten bereitgestellt, also 64 IP-Adressen. Ein Pod-Adressbereich von /17 führt zu einem Cluster,der maximal 511 Knoten unterstützen kann (32.766 verwendbare IP-Adressen/64 IP-Adressen pro Knoten).

Achten Sie darauf, dass der sekundäre IP-Adressbereich für die von Ihnen angegebenen Pods groß genug ist, um die erwartete maximale Clustergröße zu unterstützen. Ein Bereich von /16 (z. B. cluster-ipv4-cidr=10.0.0.0/16) wird empfohlen, um das maximale Wachstum des Clusters zu unterstützen.

Maximale Anzahl an Pods reduzieren

Wenn Sie die maximale Anzahl von Pods pro Knoten reduzieren, kann der Cluster mehr Knoten haben, da jeder Knoten einen kleineren Teil des gesamten IP-Adressbereichs benötigt. Sie können die Anzahl von Knoten im Cluster auch beibehalten. Geben Sie in diesem Fall einfach bei der Clustererstellung einen kleineren IP-Adressbereich an.

Wenn Sie die maximale Anzahl von Pods pro Knoten reduzieren, können Sie kleinere Cluster erstellen, die weniger IP-Adressen erfordern. Beispiel: Bei acht Pods pro Knoten erhält jeder Pod einen CIDR-Bereich von /28. Diese IP-Adressbereiche bestimmen zusammen mit den von Ihnen definierten Subnetzen und sekundären Bereichen die Anzahl der für die Clustererstellung erforderlichen IP-Adressen.

Sie können die maximale Anzahl von Pods pro Knoten bei der Erstellung des Clusters oder des Knotenpools konfigurieren.

Nächste Schritte