Maximale Anzahl von Pods pro Knoten konfigurieren

Auf dieser Seite wird erläutert, wie Sie Clusterressourcen optimieren, um eine ausreichende Planungskapazität für Ihre Pods zu gewährleisten. Dazu konfigurieren Sie die maximale Anzahl von Pods pro Knoten in Standardclustern in Google Kubernetes Engine (GKE). Auf dieser Seite erfahren Sie, wie die Beziehung zwischen Pods, CIDR-Blockgrößen und der Anzahl der Knoten beeinflusst, wie GKE Pods plant und IP-Adressen in Ihrem Cluster zuweist. Diese Seite enthält auch Details zu Beschränkungen und Standardwerten für die maximale Anzahl von Pods pro Knoten.

Diese Seite richtet sich an Operatoren, Cloud-Architekten, Entwickler und Netzwerktechniker, die Cloud-Ressourcen bereitstellen und konfigurieren, Apps und Dienste bereitstellen und die Netzwerke für ihre Cloud-Bereitstellungen verwalten. Weitere Informationen zu gängigen Rollen und Beispielaufgaben auf die in Google Cloud Inhalten verwiesen wird, finden Sie unter Häufig verwendete GKE-Nutzerrollen und Aufgaben.

Bevor Sie diese Seite lesen, sollten Sie sich mit den Fällen vertraut machen, in denen Sie GKE Standard anstelle von Autopilot Clustern verwenden sollten, und mit dem Kubernetes-Netzwerk modell.

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, 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 Versionen der gcloud CLI unterstützen möglicherweise nicht die Ausführung der Befehle in diesem Dokument.

Beschrä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 können die maximale Anzahl von Pods pro Knoten in einem Standardcluster beim Erstellen eines Clusters oder eines Knotenpools konfigurieren. Diese Einstellung kann nach dem Erstellen des Clusters oder Knotenpools nicht mehr geändert werden. Bei Autopilot-Clustern ist die maximale Anzahl von Knoten vorkonfiguriert und unveränderlich.

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 von 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 Kubernetes-Cluster erstellen auf.

    Zu „Kubernetes-Cluster erstellen“

  2. Konfigurieren Sie den neuen Cluster.

  3. Klicken Sie im Navigationsbereich unter Cluster auf Netzwerk.

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

  5. Klicken Sie im Navigationsbereich unter Knotenpools auf Netzwerk.

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

  7. 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. Die CIDR-Bereichszuweisung ermöglicht maximal 2(24-21) = 23 = 8 Knoten im Cluster.

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 /28 CIDR-Bereich zu. Die CIDR-Bereichszuweisung ermöglicht maximal 2(28-21) = 27 = 128 Knoten im Cluster.

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 Standardcluster 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. Öffnen Sie in der Google Cloud console die Seite Google Kubernetes Engine.

    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 den Tab Knoten.

  4. Klicken Sie auf Vom Nutzer verwalteten Knotenpool erstellen.

  5. Klicken Sie im Navigationsbereich auf Netzwerk.

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

Sekundäre Pod-Bereiche und maximale Anzahl von Pods pro Knoten

Wenn Sie die maximale Anzahl von Pods pro Knoten konfigurieren, wirkt sich dies indirekt auf die erforderliche Größe des sekundären Pod-Bereichs aus. GKE erfordert einen CIDR-Block von mindestens /24 pro Knotenpool. Wenn Sie beim Erstellen eines Knotenpools einen sekundären Pod-Bereich angeben, der kleiner als /24 ist, wird der folgende Fehler ausgegeben:

Pod secondary range 'Pod' must have a CIDR block of at least /24

Wenn Sie für Ihren gesamten Cluster einen kleineren Bereich als /24 benötigen, können Sie diesen auf Clusterebene mit dem Argument `--cluster-ipv4-cidr` in der Google Cloud CLI angeben. Weitere Informationen finden Sie unter Cluster mit einem bestimmten CIDR-Bereich erstellen. Sie können auch nicht zusammenhängende Multi-Pod CIDRs verwenden, um dem Cluster weitere Pod-IP-Adress bereiche hinzuzufü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 konfigurieren.

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 wählen basierend auf der erwarteten Arbeitslast-Pod-Dichte 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

Überlegungen zur Clustergröße für den sekundären IP-Adressbereich für Pods

Wenn Sie einen Cluster erstellen, kann die Größe des sekundären IP-Adressbereichs für Pods nicht mehr geändert werden. Sie müssen die Größe dieses Bereichs sorgfältig planen, um Ihren aktuellen und zukünftigen Arbeitslastanforderungen gerecht zu werden. Ein unzureichender IP-Adressbereich für Pods kann zu Planungsfehlern führen und die Skalierung Ihres Clusters verhindern.

Wenn Sie sich nicht sicher sind, welche Größe erforderlich ist, empfehlen wir, mit einem größeren Bereich wie /21 zu beginnen. Dies ist der Standardwert für Cluster, die mit der Google Cloud CLI erstellt wurden. Ein größerer Bereich bietet genügend IP-Adressen für einen mittelgroßen Cluster und gibt Ihnen Flexibilität für zukünftiges Wachstum. Wenn Sie keine Pod IP-Adressen mehr haben, können Sie mit nicht zusammenhängenden Multi-Pod-CIDRs weitere Pod IP-Adressbereiche hinzufügen.

Wenn Sie jedoch in einer Umgebung mit begrenztem IP-Adressbereich arbeiten, müssen Sie möglicherweise einen kleineren Bereich verwenden. In solchen Fällen können Sie die maximale Anzahl von Pods pro Knoten reduzieren. Wenn Sie die maximale Anzahl von Pods pro Knoten reduzieren, kann jeder Knoten einen kleineren Pod-CIDR-Bereich haben. Dadurch passen mehr Knoten in einen kleineren sekundären Pod-Bereich für den gesamten Cluster. Die Konfiguration ist ein Kompromiss zwischen der Pod-Dichte pro Knoten und der Gesamtzahl der Knoten in Ihrem Cluster.

Wenn Sie die maximale Anzahl von Pods berechnen möchten, die Ihr Cluster unterstützen kann, geben Sie Werte für die Anzahl der Pods pro Knoten und die CIDR-Bereiche ein. GKE verwendet diese Eingaben, um die Größe der Adressbereiche für Ihre Knoten und Pods zu bestimmen.

Vom Nutzer angegebene Werte

Das sind die Werte, die Sie beim Erstellen eines Clusters oder Knotenpools angeben.

  • Q: Die maximale Anzahl von Pods pro Knoten.
    • Bei Autopilot-Clustern ist Q festgelegt (derzeit 32).
    • Bei Standardclustern können Sie Q konfigurieren.
  • DS: Die Präfixlänge des Pod-Subnetzes. Bei einem CIDR-Bereich von /17 ist die Präfixlänge beispielsweise 17.
  • S: Die Präfixlänge des primären Subnetzes. Bei einem CIDR-Bereich von /24 ist die Präfixlänge beispielsweise 24.

Berechnete Werte

GKE berechnet die folgenden Werte anhand Ihrer Eingaben.

  • M: Die Netzmaskengröße für den Pod-Bereich jedes Knotens. none M = 31 - ⌈log₂(Q)⌉ Verwenden Sie die Aufrundungsfunktion (⌈ ⌉), um auf die nächste ganze Zahl aufzurunden.

  • HM: Die Anzahl der Host-Bits für die Netzmaske des Pod-Bereichs des Knotens. none HM = 32 - M

  • HD: Die Anzahl der Host-Bits für die ausgewählte CIDR-Netzmaske des Pod-Subnetzes. none HD = 32 - DS

  • MN: Die maximale Anzahl von Knoten, die vom Pod-Subnetz unterstützt werden können. none MN = 2^(HD - HM)

  • MP: Die maximale Anzahl von Pods, die vom Pod-Subnetz unterstützt werden können. none MP = MN * Q

  • N: Die Anzahl der nutzbaren IP-Adressen im primären Bereich. none N = 2^(32-S) - 4

Wichtige Hinweise :

  • Alle IP-Adressen im sekundären Bereich können für Pods verwendet werden.
  • Diese Berechnungen liefern die theoretischen Maximalwerte. Die tatsächliche Leistung kann von anderen Faktoren beeinflusst werden.

Beispiel :

Angenommen, Sie erstellen einen GKE Autopilot-Cluster mit den folgenden Einstellungen:

  • Ein Pod-Subnetz-CIDR von /17 (DS = 17).
  • Maximal 32 Pods pro Knoten (Q = 32).

Berechnen Sie die maximale Anzahl von Pods:

  1. M = 31 - ⌈log₂(32)⌉ = 26
  2. HM = 32 - 26 = 6
  3. HD = 32 - 17 = 15
  4. MN = 2(15 - 6) = 512
  5. MP = 512 * 32 = 16,384

Dieser Cluster kann maximal 512 Knoten und 16.384 Pods 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