Insights: GKE-IP-Adressauslastung

Auf dieser Seite werden die Network Analyzer-Statistiken für die Nutzung von GKE-IP-Adressen (Google Kubernetes Engine) beschrieben. Informationen zu allen Statistiktypen finden Sie unter Statistikgruppen und -typen.

Statistiken in der Recommender API ansehen

Verwenden Sie den folgenden Insight-Typ, um diese Insights in der gcloud-Kommandozeile oder der Recommender API anzuzeigen:

  • google.networkanalyzer.container.ipAddressInsight

Sie benötigen die folgenden Berechtigungen:

  • recommender.networkAnalyzerGkeIpAddressInsights.list
  • recommender.networkAnalyzerGkeIpAddressInsights.get

Weitere Informationen zur Verwendung der Recommender API für Insights zu Netzwerkanalyse finden Sie unter Recommender-Befehlszeile und API verwenden.

Hohe GKE-Pod-Bereichszuordnung

Diese Information zeigt an, dass die IP-Adressauslastung in den Pod-Adressbereichen für einen GKE-Cluster über 80 % liegt. Die Richtlinie für die Zuordnung von IP-Adressen für GKE-Pods hängt davon ab, ob Ihr Cluster als VPC-nativer Cluster oder als routenbasierter Cluster erstellt wurde.

Routenbasierte Cluster

In GKE lassen sich Cluster dadurch unterscheiden, wie sie Traffic von einem Pod zu einem anderen weiterleiten. Ein Cluster, der Google Cloud-Routen verwendet, wird als routenbasierter Cluster bezeichnet. Weitere Informationen finden Sie unter Routenbasierten Cluster erstellen.

Ein routenbasierter Cluster hat einen Bereich von IP-Adressen, die für Pods und Dienste verwendet werden. Obwohl der Bereich sowohl für Pods als auch für Dienste zum Einsatz kommt, wird er Pod-Adressbereich genannt.

Der letzte /20 des Pod-Adressbereichs wird für Dienste verwendet. Ein /20-Bereich hat 212 = 4096 Adressen. Auf diese Weise werden 4096-Adressen für Dienste und der Rest des Bereichs für Pods verwendet.

Jeder Knoten des Pod-Adressbereichs hat einen /24-IP-Adressbereich für die Pods. Ein /24-Bereich hat 28 = 256 Adressen. Denken Sie daran, dass 4096-Adressen im Pod-Adressbereich für Dienste verwendet werden. Der verbleibende Teil des Pod-Adressbereichs wird für Pods verwendet und muss groß genug sein, um die Anzahl der Knoten x 256 Adressen unterzubringen.

Das Zuweisungsverhältnis für den Pod-Adressbereich wird so berechnet:

$\frac{\text {Anzahl der GKE-Knoten} \times {256}}{\text {Größe des Pod-Adressbereichs}-{4096}}$

Sie möchten beispielsweise einen 900-Knotencluster erstellen. Dann benötigen Sie 900 x 256 = 230,400-Adressen für Pods. Angenommen, Sie haben den Pod-Adressbereich /14. Ein /14-Bereich hat 218 = 262,144-Adressen. Wenn Sie die für Dienste verwendeten 4096-Adressen abziehen, erhalten Sie 258,048, was für 900-Knoten ausreicht.

VPC-native Cluster

In GKE lassen sich Cluster dadurch unterscheiden, wie sie Traffic von einem Pod zu einem anderen weiterleiten. Ein Cluster, der Alias-IP-Adressbereiche verwendet, wird als VPC-nativer Cluster bezeichnet. Weitere Informationen finden Sie unter VPC-native Cluster.

Wenn Sie einen Knotenpool in einem VPC-nativer Cluster erstellen, wählen Sie einen sekundären IP-Adressbereich aus, um IP-Adressen für GKE-Pods zuzuweisen. Verschiedene Knotenpools können unterschiedliche sekundäre Bereiche verwenden, um Pod-IP-Adressen zuzuweisen. Weitere Informationen finden Sie unter Multi-Pod-CIDR. Network Analyzer berechnet das Zuweisungsverhältnis für jeden sekundären IP-Adressbereich, der zum Zuweisen von Pod-IP-Adressen für einen bestimmten Cluster verwendet wird. Wenn das Gesamtzuweisungsverhältnis über 80 % liegt, erhalten Sie eine hohe Auslastungsstatistik.

Das Zuordnungsverhältnis für einen einzelnen sekundären IP-Adressbereich wird so berechnet:

$\frac{\text {IP-Adressen aus dem sekundären Bereich, der Knoten zugewiesen ist}}{\text {Größe des sekundären Bereichs}}$

Ein sekundärer Pod-Bereich /24 kann beispielsweise 256 Pods enthalten. Wenn nur 1-Knoten mit den standardmäßigen max_pods_per_node-, 110- und 16-Pods ausgeführt werden, beträgt das Verhältnis 100% (256/256) anstelle von 6,25% (16/256), da 240-Pod-IP-Adressen zwar nicht verwendet werden, aber dennoch zu diesem Knoten gehören. Ein weiterer neuer Knoten kann nur dann erfolgreich erstellt werden, wenn 256 nicht verwendete Pod-IP-Adressen vorhanden sind.

Die Gesamtzuweisung wird so berechnet:

$\frac{\text {Summe der zugewiesenen IP-Adressen in allen sekundären IP-Adressbereichen für die Zuweisung von Pod-IP-Adressen}}{\text {Summe der Größen der sekundären IP-Adressbereiche zum Zuweisen von Pod-IP-Adressen}}$

Beispiel: Wenn die Standard-Pod-IP-Adresse und der zusätzliche Pod-IPv4-Adressbereich auf /22 festgelegt sind und 2 Knotenpools vorhanden sind, verwendet ein Knotenpool den Standard-Pod-IP-Adressbereich und hat 3 Knoten. Der zweite Knotenpool verwendet einen zusätzlichen Pod-IP-Adressbereich und hat auch 3 Knoten, wobei die standardmäßige maximale Anzahl von Pods auf 110 festgelegt ist. Kubernetes weist Knoten im Cluster den CIDR-Bereich /24 zu. Wenn 6 Knoten und ein CIDR-Bereich von /24 zugewiesen sind, sind insgesamt 256 * 6 = 1536 IP-Adressen vorhanden. Dies entspricht 75% der Gesamtzahl der in den beiden Pod-IP-Adressbereichen verfügbaren IP-Adressen (1024 * 2 = 2048).

Wenn die sekundäre IP-Adresse von verschiedenen Clustern gemeinsam genutzt wird, zeigen die Statistiken den aggregierten Gesamtwert aller Cluster. Wenn Sie die Auslastung eines einzelnen Cluster-IP-Bereichs aufrufen möchten, können Sie gcloud container cluster describe CLUSTER_NAME ausführen, um den Auslastungsstatus der einzelnen sekundären IP-Adressen aufzurufen. Ersetzen Sie CLUSTER_NAME durch den Namen des Clusters.

Empfehlungen

Zuordnung von GKE-Pod-Bereichen begrenzt Autoscaling

Diese Statistik gibt an, dass die Pod-IP-Adressbereiche des Clusters nicht genügend Adressen haben, um die Erstellung der maximalen Anzahl von Knoten in allen Knotenpools zu unterstützen. Die Seite mit den Statistikdetails enthält eine Tabelle, die die Anzahl der aktuell verwendeten Pod-IP-Adressen und die maximale Anzahl der Pod-IP-Adressen in jedem Pod-IP-Adressbereich Ihres GKE-Clusters anzeigt.

Network Analyzer generiert diese Statistik, wenn der vollständig automatisch skalierte Wert für die IP-Adressennutzung 100 % überschreitet.

Der Wert für die vollständig automatisch skalierte IP-Adressauslastung überschreitet 100 %, wenn die Anzahl der Pod-IP-Adressen, die zur Unterstützung der maximalen Anzahl von Knoten im Cluster erforderlich ist, die Anzahl der IP-Adressen in den Pod-IP-Adressbereichen des Clusters überschreitet. Die maximale Anzahl von Knoten im Cluster ist die Summe der maximalen Anzahl von Knoten in jedem Knotenpool des Clusters (maxNodeCount).

Der Wert für die vollständig automatisch skalierte IP-Adressauslastung wird anhand der Formel berechnet, die in Zuweisung hoher GKE-Pod-Bereiche ermittelt wurde.

Routenbasierte Cluster

Diese Information wird generiert, wenn das Zuordnungsverhältnis für den Pod-Adressbereich über 100 % liegt und alle Knotenpools vollständig skaliert sind. Die GKE-Knoten werden aufgrund des nicht ausreichenden IP-Adressbereichs nicht erstellt.

VPC-native Cluster

Diese Statistik wird generiert, wenn ein sekundärer IP-Adressbereich, der zum Zuweisen von Pod-IP-Adressen verwendet wird, nicht genügend freien IP-Adressbereich hat. Der unzureichende IP-Adressbereich kann die Situation nicht bewältigen, wenn alle Knotenpools vollständig automatisch skaliert werden.

Weitere Informationen finden Sie unter Best Practices für das GKE-Netzwerk und Beschränkung des Cluster Autoscaler.

Empfehlungen

  • Erstellen Sie bei routenbasierten Clustern den Cluster mit einem größeren Pod-Adressbereich neu. Erstellen Sie diesen Cluster als VPC-nativen Cluster, da dies der empfohlene Netzwerkmodus ist. Weitere Informationen finden Sie unter VPC-native und routenbasierte Cluster.
  • Fügen Sie für VPC-native Cluster mithilfe von Multi-Pod-CIDR zusätzliche Pod-Bereiche zur Clusterebene hinzu und aktivieren Sie die automatische Knotenbereitstellung, um die Knotenskalierung mit automatischer Pod-IP-Adresszuweisung zu automatisieren. Wenn Sie mehr Kontrolle darüber haben möchten, welche Pod-IP-Adressen für welchen Knotenpool verwendet werden, können Sie die Knotenpools erstellen, die einen bestimmten sekundären IP-Adressbereich verwenden, indem Sie ein CIDR mit mehreren Pods verwenden. Dies gilt jedoch nur für Standardcluster.