Pod-Dichte für einen Knotenpool überschreiben

In diesem Dokument wird beschrieben, wie Sie die Pod-Dichte für einzelne Knotenpools in Ihrem Cluster festlegen und so die clusterweite Einstellung überschreiben. Konfigurationen auf Knotenebene gelten in der Regel für den gesamten Cluster. Sie können die Pod-Dichte jedoch für einen bestimmten Knotenpool konfigurieren. Wenn Sie die Pod-Dichte für bestimmte Knotenpools überschreiben, können Sie die Ressourceneffizienz verbessern. Diese Funktion ist nützlich für spezielle Knotenpools, z. B. Knoten mit GPUs, bei denen aufgrund bestimmter Arbeitslastanforderungen oder einer effizienten IP-Adresszuweisung ein anderer Wert für die maximale Anzahl von Pods pro Knoten erforderlich ist.

Die Möglichkeit, die clusterweite Einstellung für die Pod-Dichte zu überschreiben, ist für Cluster ab Version 1.33 verfügbar.

Hinweise

Die Möglichkeit, die Pod-Dichte für Knotenpools anzugeben, ist nur für Cluster mit einer der folgenden Netzwerkkonfigurationen verfügbar:

Pod-Dichte für einen Knotenpool konfigurieren

Konfigurieren Sie die Pod-Dichte in der NodePool-Spezifikation, um Einstellungen auf Clusterebene zu überschreiben. Diese Konfiguration ist optional. Die Größe des CIDR-Bereichs, der dem Knoten zugewiesen wird, wird vom System aus dem Parameter „Maximale Anzahl von Pods pro Knoten“ abgeleitet.

Die maxPodsPerNode-Konfiguration kann nach dem Erstellen des Knotenpools nicht mehr geändert werden. Das System validiert die Einstellung maxPodsPerNode, um sicherzustellen, dass genügend IP-Adressen für Knoten im Knotenpool vorhanden sind. Bei dieser Validierung wird eine strikte Labelbindung verwendet, bei der ein ClusterCIDRConfig über einen Knotenselektor an einen Knotenpool gebunden wird. Sie können diese Validierung überspringen, indem Sie die Annotation baremetal.cluster.gke.io/skip-pod-cidr-size-check für die Cluster-CR oder auf NodePool-Ebene festlegen.

  1. ClusterCIDRConfig-Ressource erstellen

    Diese Ressource wird über einen Knotenselektor an einen bestimmten NodePool gebunden.

    apiVersion: networking.gke.io/v1alpha1
    kind: ClusterCIDRConfig
    metadata:
      name: my-nodepool-cidr-config
    spec:
      nodeSelector:
        matchLabels:
          baremetal.cluster.gke.io/node-pool: NODE_POOL_NAME
      # ... other CIDR config fields (e.g., podCIDR, perNodeMaskSize)
    

    Ersetzen Sie NODE_POOL_NAME durch den Namen Ihres Knotenpools.

  2. Erstellen Sie den Knotenpool mit der überschriebenen Pod-Dichte.

    Geben Sie das Feld nodeConfigOverride in der NodePool-Definition an. Dieses Feld enthält die podDensity-Konfiguration.

    apiVersion: baremetal.cluster.gke.io/v1
    kind: NodePool
    metadata:
      name: NODEPOOL_NAME
      namespace: CLUSTER_NAMESPACE
    spec:
      cluster: CLUSTER_NAME
      nodeConfigOverride:
        podDensity:
          maxPodsPerNode: MAX_PODS_PER_NODE
      # ... other NodePoolSpec fields like nodeCount, taints, labels etc. ...
    

    Ersetzen Sie Folgendes:

    • NODEPOOL_NAME: Der Name der Knotenpoolressource, deren maximalen Wert für „Pods pro Knoten“ Sie überschreiben.

    • CLUSTER_NAMESPACE: Der Namespace des Clusters, in dem sich der Knotenpool befindet.

    • CLUSTER_NAME ist der Name des Clusters, in dem Sie die Knotenpooleinstellungen überschreiben.

    • MAX_PODS_PER_NODE: Die maximale Anzahl von Pods, die Sie auf einem einzelnen Knoten im angegebenen Knotenpool ausführen können.

Nächste Schritte