Knotenpools in einem Cluster hinzufügen oder entfernen

In Anthos-Clustern auf Bare-Metal können Sie Knotenpools in einem Cluster hinzufügen oder entfernen, indem Sie benutzerdefinierte Knotenpool-Ressourcen erstellen oder löschen. Sie verwenden kubectl, um Änderungen an Knotenpools vorzunehmen.

Sie können Worker-Knotenpools nur für einen vorhandenen Cluster hinzufügen oder löschen. Die Knotenpools der Steuerungsebene und des Load-Balancers, die bei der Clustererstellung hinzugefügt werden, sind für die Funktion des Clusters entscheidend und können nicht gelöscht werden.

Knotenstatus prüfen

Prüfen Sie vor dem Hinzufügen oder Entfernen von Knotenpools mithilfe von kubectl get den Status von Knoten und den zugehörigen Knotenpools. Weitere Informationen, einschließlich eines Beispielbefehls und einer Beispielantwort, finden Sie unter Knotenstatus ansehen.

Neuen Knotenpool hinzufügen

Um neue Knotenpools hinzuzufügen, erstellen Sie eine neue nodepools.baremetal.cluster.gke.io-Ressource im Administratorcluster. Beispielsweise können Sie mit der folgenden Konfiguration einen neuen Knotenpool namens "nodepool-new" mit den Knoten-IP-Adressen 10.200.0.7 und 10.200.0.8 hinzufügen:

  apiVersion: baremetal.cluster.gke.io/v1
  kind: NodePool
  metadata:
    name: node-pool-new
    namespace: cluster-my-cluster
  spec:
    clusterName: my-cluster
    nodes:
    - address: 10.200.0.7
    - address: 10.200.0.8
    taints:
    - key: <key1>
      value: <value1>
      effect: NoSchedule
    labels:
      key1: <value1>
      key2: <value2>

NodePool.spec.taints- und NodePool.spec.labels-Konfigurationen werden mit Knoten abgeglichen. Alle Markierungen und Labels, die direkt hinzugefügt werden, werden entfernt. Die Steuerungsebene entfernt nicht die Markierungen und Labels, die Sie direkt während der Synchronisierung hinzufügen.

Um diesen Abgleichschritt zu umgehen, können Sie den Knoten mit baremetal.cluster.gke.io/label-taint-no-sync annotieren.

Die Knotenpool-Ressource muss im selben Namespace erstellt werden wie der zugehörige Cluster und auf den Clusternamen im spec.clusterName-Feld verweisen.

Speichern Sie die Konfiguration in einer Datei mit dem Namen node-pool-new.yaml. Wenden Sie dann die Konfiguration mit dem unten aufgeführten Befehl auf den Administratorcluster an. Verwenden Sie dabei das Flag --kubeconfig, um die Konfiguration des Administratorclusters explizit anzugeben, falls erforderlich:

  kubectl apply -f node-pool-new.yaml

Knotenpool entfernen

Sie können Knotenpools mit kubectl delete entfernen. Wenn Sie beispielsweise den im vorherigen Abschnitt hinzugefügten Knotenpool node-pool-new entfernen möchten, verwenden Sie den folgenden Befehl:

  kubectl -n cluster-my-cluster delete nodepool node-pool-new

Das Entfernen eines Worker-Knotenpools in einem Cluster kann zu Pod-Ausfällen führen. Wenn ein Pod-Ausfallbudget (PDB) vorhanden ist, werden Sie möglicherweise daran gehindert, einen Knotenpool zu entfernen. Weitere Informationen zu den Richtlinien zu Pod-Ausfällen finden Sie unter Durch das Pod-Ausfallbudget blockierte Knoten entfernen.