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>
In Anthos-Clustern mit Bare-Metal-Versionen ab 1.7.0 werden NodePool.spec.taints
- und NodePool.spec.labels
-Konfigurationen mit Knoten abgeglichen. In 1.7.0 werden alle Markierungen und Labels, die direkt hinzugefügt wurden, entfernt. Ab Anthos-Clustern mit Bare-Metal 1.7.1 und höher werden die von Ihnen während des Synchronisierungsvorgangs direkt hinzugefügten Markierungen und Labels von den Steuerungsebenen nicht mehr entfernt.
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.