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 sich das Verhältnis zwischen Pods, CIDR-Blockgrößen und der Anzahl der Knoten darauf auswirkt, wie GKE Pods plant und IP-Adressen in Ihrem Cluster zuweist. Auf dieser Seite finden Sie auch Details zu Einschränkungen und Standardwerten für die maximale Anzahl von Pods pro Knoten.
Diese Seite richtet sich an Betreiber, 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 Anwendungsfällen für GKE Standard-Cluster im Vergleich zu Autopilot-Clustern und dem Kubernetes-Netzwerkmodell vertraut machen.
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 diesen Task 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 dem Befehl
gcloud components update
ab. In früheren gcloud CLI-Versionen werden die Befehle in diesem Dokument möglicherweise nicht unterstützt.
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. Für Autopilot-Cluster ist die maximale Anzahl an 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 der gcloud CLI oder der Google Cloud -Konsole 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 auf256
konfiguriert werden. Wenn keine Angabe gemacht wird, weist Kubernetes den Standardwert110
zu.COMPUTE_LOCATION
: der Compute Engine-Standort für den neuen Cluster.
Console
Rufen Sie in der Google Cloud Console die Seite Kubernetes-Cluster erstellen auf.
Konfigurieren Sie den neuen Cluster.
Klicken Sie im Navigationsbereich unter Cluster auf Netzwerk.
Achten Sie darauf, dass das Kästchen neben VPC-natives Traffic-Routing aktivieren (verwendet Alias-IP-Adresse) aktiviert ist.
Klicken Sie im Navigationsbereich unter Knotenpools auf Knoten.
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.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. Durch die Zuweisung des CIDR-Bereichs 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. Durch die Zuweisung des CIDR-Bereichs 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 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
Öffnen Sie in der Google Cloud Console die Seite Google Kubernetes Engine.
Klicken Sie in der Clusterliste auf den Namen des Clusters, den Sie ändern möchten.
Klicken Sie auf Knotenpool hinzufügen add_box.
Klicken Sie im Navigationsbereich auf Knoten.
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.
Sekundäre Bereiche für Pods und maximale Anzahl von Pods pro Knoten
Wenn Sie die maximale Anzahl von Pods pro Knoten konfigurieren, wirkt sich das indirekt auf die erforderliche Größe des sekundären Pod-Bereichs aus. Für GKE ist ein CIDR-Block von mindestens /24 pro Knotenpool erforderlich. Wenn Sie beim Erstellen eines Knotenpools versuchen, einen sekundären Pod-Bereich anzugeben, 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 mit dem Argument --cluster-ipv4-cidr in der Google Cloud CLI auf Clusterebene 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-Adressbereiche 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 |
Hinweise zur Clustergröße für den sekundären IP-Adressbereich für Pods
Wenn Sie einen Cluster erstellen, ist die Größe des sekundären IP-Adressbereichs für Pods unveränderlich. Sie müssen die Größe dieses Bereichs sorgfältig planen, um Ihren aktuellen und zukünftigen Arbeitslastanforderungen gerecht zu werden. Unzureichender IP-Adressbereich für Pods kann zu Planungsfehlern führen und verhindern, dass Ihr Cluster skaliert wird.
Wenn Sie sich nicht sicher sind, welche Größe erforderlich ist, empfehlen wir, mit einem größeren Bereich zu beginnen, z. B. /21
. Dies ist die Standardeinstellung für Cluster, die mit der Google Cloud CLI erstellt wurden. Ein größerer Bereich bietet genügend IP-Adressen für einen Cluster mittlerer Größe 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 eingeschränktem IP-Adressraum 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 können mehr Knoten in einen kleineren sekundären Pod-Bereich für den gesamten Cluster passen. 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 Eingabewerte für die Anzahl der Pods pro Knoten und die CIDR-Bereiche an. GKE verwendet diese Eingaben, um die Größe der Adressbereiche für Ihre Knoten und Pods zu bestimmen.
Vom Nutzer angegebene Werte
Dies 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
fest (derzeit 32). - Bei Standardclustern können Sie
Q
konfigurieren.
- Bei Autopilot-Clustern ist
DS
: Die Präfixlänge des Pod-Subnetzes. Bei einem CIDR-Bereich von/17
ist die Präfixlänge beispielsweise17
.S
: Die Präfixlänge des primären Subnetzes. Bei einem CIDR-Bereich von/24
ist die Präfixlänge beispielsweise24
.
Berechnete Werte
GKE berechnet die folgenden Werte auf Grundlage Ihrer Eingaben.
M
: Die Netzmaskengröße für den Pod-Bereich jedes Knotens.none M = 31 - ⌈log₂(Q)⌉
Mit der CEILING-Funktion (⌈ ⌉
) können Sie auf die nächste Ganzzahl aufrunden.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-Pod-Subnetzmaske.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 ergeben die theoretischen Höchstwerte. Die tatsächliche Leistung kann durch andere 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:
M = 31 - ⌈log₂(32)⌉ = 26
HM = 32 - 26 = 6
HD = 32 - 17 = 15
MN = 2(15 - 6) = 512
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
- VPC-native Cluster erstellen
- Zusätzliche Pod-IP-Adressen zu Clustern hinzufügen
- Weitere Informationen zu Strategien für die IP-Adressverwaltung bei der Migration zu GKE
- Informationen zu Statistiken zur GKE-IP-Adressauslastung