Wenn Sie einen Google Distributed Cloud (GDC) mit Air Gap Kubernetes-Cluster erstellen, wird mit der von Ihnen angegebenen Anzahl und Art der Knoten der erste Knotenpool des Clusters erstellt. Sie können die folgenden Knotenpoolaufgaben für einen vorhandenen Cluster ausführen, wenn sich seine Compute-Anforderungen ändern:
Neuen Knotenpool hinzufügen: Fügen Sie neue Knotenpools hinzu, wenn die Nachfrage nach Ihren Clusterarbeitslasten steigt.
Knotenpool ansehen: Sehen Sie sich die Merkmale und den Status Ihrer vorhandenen Knotenpools an.
Größe eines Knotenpools ändern: Skalieren Sie Ihre Knotenpools manuell nach oben oder unten, um sich an Schwankungen des Arbeitslast-Traffics anzupassen.
Knotenpool löschen: Entfernen Sie Knotenpools, wenn die Nachfrage nach Ihren Clusterarbeitslasten sinkt oder Sie Maschinentypen löschen möchten, die für Ihre Container-Vorgänge nicht mehr geeignet sind.
Weitere Informationen zu Knotenpools in einem Cluster finden Sie unter Knoten.
Dieses Dokument richtet sich an Anwendungsentwickler in der Gruppe der Anwendungsoperatoren und an IT-Administratoren in der Gruppe der Plattformadministratoren, die für die Verwaltung von Kubernetes-Clustern in ihrer Organisation verantwortlich sind. Weitere Informationen finden Sie unter Dokumentation zu Zielgruppen für GDC mit Air Gap.
Hinweis
Um die Aufgaben in diesem Dokument auszuführen, müssen Sie die erforderlichen Berechtigungen anfordern und Ihre Umgebung vorbereiten.
IAM-Rollen anfordern
Sie benötigen bestimmte Rollen, um die Berechtigungen zu erhalten, die Sie zum Verwalten von Knotenpools in einem Kubernetes-Cluster benötigen. Die erforderlichen Rollen hängen davon ab, ob Sie in einem gemeinsam genutzten Cluster mit Organisationsbereich oder in einem Standardcluster mit Projektbereich arbeiten. Weitere Informationen finden Sie unter Kubernetes-Clusterkonfigurationen.
Rollen für gemeinsam genutzte Cluster
Wenn Sie die Knotenpools eines gemeinsam genutzten Clusters erstellen, löschen, bearbeiten oder ansehen möchten, bitten Sie Ihren IAM-Administrator der Organisation, Ihnen die Rolle User Cluster Admin (user-cluster-admin) zuzuweisen. Diese Rolle ist nicht an einen Namespace gebunden.
Rollen für Standardcluster
Bitten Sie Ihren IAM-Administrator des Projekts, Ihnen die folgenden Rollen zuzuweisen:
Standard Cluster Admin (
standard-cluster-admin): Erstellen, löschen, bearbeiten oder ansehen der Knotenpools eines Standardclusters.Cluster Developer (
cluster-developer): Erstellen, löschen, bearbeiten oder ansehen eines Standardclusters. Diese Rolle ist erforderlich, um die Knotenpooldetails des Clusters in der GDC-Konsole aufzurufen.
Diese Rollen sind an Ihren Projekt-Namespace gebunden.
Umgebung vorbereiten
Wenn Sie Befehle für einen Kubernetes-Cluster mit der API ausführen möchten, benötigen Sie die folgenden Ressourcen:
Suchen Sie den Namen des Kubernetes-Clusters oder fragen Sie ein Mitglied der Plattformadministratorgruppe nach dem Clusternamen.
Ersetzen Sie in dieser Anleitung
KUBERNETES_CLUSTER_NAMEdurch den Namen des Kubernetes-Clusters.Melden Sie sich an und generieren Sie die kubeconfig-Datei des Management-API-Servers für den Kubernetes-Cluster.
Ersetzen Sie in dieser Anleitung
MANAGEMENT_API_SERVERdurch den kubeconfig-Pfad des Management-API-Servers.
Knotenpool hinzufügen
Führen Sie die folgenden Schritte aus, um einem vorhandenen Kubernetes-Cluster einen Knotenpool hinzuzufügen:
Console
Wählen Sie in der Projektauswahl Ihr Projekt oder Ihre Organisation aus.
Standardcluster haben einen Projektbereich und gemeinsam genutzte Cluster einen Organisationsbereich. Wählen Sie den richtigen Bereich aus, um den entsprechenden Kubernetes-Clustertyp aufzurufen.
Wählen Sie im Navigationsmenü Kubernetes Engine > Cluster aus.
Klicken Sie in der Clusterliste auf den Cluster. Die Seite Clusterdetails wird angezeigt.
Wählen Sie Knotenpools > Knotenpool hinzufügen aus.
Weisen Sie dem Knotenpool einen Namen zu. Sie können den Namen nach dem Erstellen des Knotenpools nicht mehr ändern.
Geben Sie die Anzahl der Worker-Knoten an, die im Knotenpool erstellt werden sollen.
Wählen Sie die Maschinenklasse aus, die Ihren Arbeitslastanforderungen am besten entspricht. Die Maschinenklassen werden in den folgenden Einstellungen angezeigt:
- Maschinentyp
- vCPU
- Arbeitsspeicher
Klicken Sie auf Speichern.
API
Öffnen Sie die benutzerdefinierte Ressourcenspezifikation
Clustermit derkubectl-CLI und dem interaktiven Editor:kubectl edit clusters.cluster.gdc.goog/KUBERNETES_CLUSTER_NAME \ -n KUBERNETES_CLUSTER_NAMESPACE \ --kubeconfig MANAGEMENT_API_SERVERErsetzen Sie Folgendes:
KUBERNETES_CLUSTER_NAME: Der Name des Clusters.KUBERNETES_CLUSTER_NAMESPACE: Der Namespace des Clusters. Verwenden Sie für gemeinsam genutzte Cluster den Namespaceplatform. Verwenden Sie für Standardcluster den Projekt-Namespace des Clusters.MANAGEMENT_API_SERVER: Der kubeconfig-Pfad des zonalen API-Servers, auf dem der Kubernetes-Cluster gehostet wird.
Fügen Sie im Abschnitt
nodePoolseinen neuen Eintrag hinzu:nodePools: # Several lines of code are omitted here. - machineTypeName: MACHINE_TYPE name: NODE_POOL_NAME nodeCount: NUMBER_OF_WORKER_NODES taints: TAINTS labels: LABELS acceleratorOptions: gpuPartitionScheme: GPU_PARTITION_SCHEMEErsetzen Sie Folgendes:
MACHINE_TYPE: Der Maschinentyp für die Worker-Knoten des Knotenpools. Sehen Sie sich die verfügbaren Maschinentypen an, um zu erfahren, was konfiguriert werden kann.NODE_POOL_NAME: Der Name des Knotenpools.NUMBER_OF_WORKER_NODES: Die Anzahl der Worker-Knoten, die im Knotenpool bereitgestellt werden sollen.TAINTS: Die Markierungen, die auf die Knoten dieses Knotenpools angewendet werden sollen. Dies ist ein optionales Feld.LABELS: Die Labels, die auf die Knoten dieses Knotenpools angewendet werden sollen. Es enthält eine Liste von Schlüssel/Wert-Paaren. Dies ist ein optionales Feld.GPU_PARTITION_SCHEME: Das GPU-Partitionierungsschema, wenn Sie GPU-Arbeitslasten ausführen. Beispiel:mixed-2. Die GPU wird nicht partitioniert, wenn dieses Feld nicht festgelegt ist. Informationen zu verfügbaren Multi-Instanz-GPU-Profilen (MIG) finden Sie unter Unterstützte MIG-Profile.
Speichern Sie die Datei und beenden Sie den Editor.
Knotenpools ansehen
Führen Sie die folgenden Schritte aus, um vorhandene Knotenpools in einem Kubernetes-Cluster aufzurufen:
Console
Wählen Sie in der Projektauswahl Ihr Projekt oder Ihre Organisation aus.
Standardcluster haben einen Projektbereich und gemeinsam genutzte Cluster einen Organisationsbereich. Wählen Sie den richtigen Bereich aus, um den entsprechenden Kubernetes-Clustertyp aufzurufen.
Wählen Sie im Navigationsmenü Kubernetes Engine > Cluster aus.
Klicken Sie in der Clusterliste auf den Cluster. Die Seite Clusterdetails wird angezeigt.
Wählen Sie Knotenpools aus.
Die Liste der Knotenpools, die im Cluster ausgeführt werden, wird angezeigt. Auf dieser Seite können Sie die Knotenpools des Clusters verwalten.
API
Knotenpools eines bestimmten Kubernetes-Clusters ansehen:
kubectl get clusters.cluster.gdc.goog/KUBERNETES_CLUSTER_NAME \ -n KUBERNETES_CLUSTER_NAMESPACE \ -o json --kubeconfig MANAGEMENT_API_SERVER | \ jq .status.workerNodePoolStatusesErsetzen Sie Folgendes:
KUBERNETES_CLUSTER_NAME: Der Name des Clusters.KUBERNETES_CLUSTER_NAMESPACE: Der Namespace des Clusters. Verwenden Sie für gemeinsam genutzte Cluster den Namespaceplatform. Verwenden Sie für Standardcluster den Projekt-Namespace des Clusters.
Die Ausgabe sieht etwa so aus:
[ { "conditions": [ { "lastTransitionTime": "2023-08-31T22:16:17Z", "message": "", "observedGeneration": 2, "reason": "NodepoolReady", "status": "True", "type": "Ready" }, { "lastTransitionTime": "2023-08-31T22:16:17Z", "message": "", "observedGeneration": 2, "reason": "ReconciliationCompleted", "status": "False", "type": "Reconciling" } ], "name": "worker-node-pool", "readyNodes": 3, "readyTimestamp": "2023-08-31T18:59:46Z", "reconcilingNodes": 0, "stalledNodes": 0, "unknownNodes": 0 } ]
Größe von Knotenpools ändern
Sie können die Größe von Knotenpools in einem Kubernetes-Cluster manuell ändern, indem Sie den Pool nach oben oder unten skalieren. Sie können beim Herunterskalieren eines Knotenpools keinen bestimmten Knoten zum Entfernen auswählen.
Führen Sie die folgenden Schritte aus, um einen Knotenpool in einem vorhandenen Cluster zu skalieren:
Console
Wählen Sie in der Projektauswahl Ihr Projekt oder Ihre Organisation aus.
Standardcluster haben einen Projektbereich und gemeinsam genutzte Cluster einen Organisationsbereich. Wählen Sie den richtigen Bereich aus, um den entsprechenden Kubernetes-Clustertyp aufzurufen.
Wählen Sie im Dashboard das Projekt aus, in dem sich der Cluster befindet, den Sie bearbeiten möchten.
Wählen Sie im Navigationsmenü Kubernetes Engine > Cluster aus.
Wählen Sie den Clusternamen aus, dem der Knotenpool zugeordnet ist. Die Seite Clusterdetails wird angezeigt.
Klicken Sie auf den Tab Knotenpools.
Wählen Sie das Symbol edit Bearbeiten für den Knoten pool aus, dessen Größe Sie ändern möchten. Die Eingabeaufforderung Knotenpool bearbeiten wird angezeigt.
Aktualisieren Sie das Feld Anzahl der Knoten mit der neuen Anzahl der Knoten, die im Knotenpool erforderlich sind. Sie können die Anzahl der Knoten entsprechend Ihren Arbeitslastanforderungen erhöhen oder verringern.
Klicken Sie auf Speichern.
Kehren Sie zum Tab Knotenpools für Ihren Cluster zurück und prüfen Sie, ob der Knotenpool mit der geänderten Größe den Status
Readyhat und die richtige Anzahl von Knoten enthält. Es kann einige Minuten dauern, bis der Knotenpool auf Ihre Spezifikation skaliert ist.
API
Öffnen Sie die benutzerdefinierte Ressourcenspezifikation
Clustermit der kubectl-CLI und dem interaktiven Editor:kubectl edit clusters.cluster.gdc.goog/KUBERNETES_CLUSTER_NAME \ -n KUBERNETES_CLUSTER_NAMESPACE \ --kubeconfig MANAGEMENT_API_SERVERErsetzen Sie Folgendes:
KUBERNETES_CLUSTER_NAME: Der Name des Clusters, der den Knotenpool hostet.KUBERNETES_CLUSTER_NAMESPACE: Der Namespace des Clusters. Verwenden Sie für gemeinsam genutzte Cluster den Namespaceplatform. Verwenden Sie für Standardcluster den Projekt-Namespace des Clusters.MANAGEMENT_API_SERVER: Der kubeconfig-Pfad des zonalen API-Servers, auf dem der Kubernetes-Cluster gehostet wird.
Aktualisieren Sie das Feld
nodeCountfür den Knotenpool, dessen Größe Sie ändern möchten:nodePools: # Several lines of code are omitted here. - machineTypeName: n2-standard-2-gdc name: nodepool-1 nodeCount: NUMBER_OF_WORKER_NODESErsetzen Sie
NUMBER_OF_WORKER_NODESdurch die aktualisierte Anzahl der Worker-Knoten, die im Knotenpool bereitgestellt werden sollen.Speichern Sie die Datei und beenden Sie den Editor.
Prüfen Sie, ob die Knotenskalierung abgeschlossen ist, indem Sie die Konfiguration des Knotenpools prüfen:
kubectl get clusters.cluster.gdc.goog/KUBERNETES_CLUSTER_NAME \ -n KUBERNETES_CLUSTER_NAMESPACE -o json \ --kubeconfig MANAGEMENT_API_SERVER | jq .status.workerNodePoolStatusesPrüfen Sie, ob die Zahl
readyNodesder Anzahl der Knoten entspricht, die Sie für den Knotenpool festgelegt haben. Es kann einige Minuten dauern, bis der Knotenpool auf Ihre Spezifikation skaliert ist.
Knotenpool löschen
Durch das Löschen eines Knotenpools werden dessen Knoten und Routen gelöscht. Auf diesen Knoten werden alle Pods entfernt und neu geplant. Wenn die Pods spezifische Knotenauswahlen haben, bleiben die Pods womöglich in einem nicht-planbaren Zustand, wenn kein anderer Knoten im Cluster die Kriterien erfüllt.
Achten Sie darauf, dass mindestens drei Worker-Knoten vorhanden sind, bevor Sie einen Knotenpool löschen, damit Ihr Cluster genügend Compute-Kapazität hat, um effektiv zu funktionieren.
Führen Sie die folgenden Schritte aus, um einen Knotenpool zu löschen:
Console
Wählen Sie in der Projektauswahl Ihr Projekt oder Ihre Organisation aus.
Standardcluster haben einen Projektbereich und gemeinsam genutzte Cluster einen Organisationsbereich. Wählen Sie den richtigen Bereich aus, um den entsprechenden Kubernetes-Clustertyp aufzurufen.
Wählen Sie im Navigationsmenü Kubernetes Engine > Cluster aus.
Klicken Sie auf den Cluster, der den Knotenpool hostet, den Sie löschen möchten.
Wählen Sie Knotenpools aus.
Klicken Sie neben dem Knotenpool, den Sie löschen möchten, auf delete Löschen.
API
Öffnen Sie die benutzerdefinierte Ressourcenspezifikation
Clustermit der kubectl-CLI und dem interaktiven Editor:kubectl edit clusters.cluster.gdc.goog/KUBERNETES_CLUSTER_NAME \ -n KUBERNETES_CLUSTER_NAMESPACE \ --kubeconfig MANAGEMENT_API_SERVERErsetzen Sie Folgendes:
KUBERNETES_CLUSTER_NAME: Der Name des Clusters.KUBERNETES_CLUSTER_NAMESPACE: Der Namespace des Clusters. Verwenden Sie für gemeinsam genutzte Cluster den Namespaceplatform. Verwenden Sie für Standardcluster den Projekt-Namespace des Clusters.MANAGEMENT_API_SERVER: Der kubeconfig-Pfad des zonalen API-Servers, auf dem der Kubernetes-Cluster gehostet wird.
Entfernen Sie den Knotenpooleintrag aus dem Abschnitt
nodePools. Im folgenden Snippet müssen Sie beispielsweise die FeldermachineTypeName,nameundnodeCountentfernen:nodePools: # Several lines of code are omitted here. - machineTypeName: n2-standard-2-gdc name: nodepool-1 nodeCount: 3Entfernen Sie alle Felder für den Knotenpool, den Sie löschen.
Speichern Sie die Datei und beenden Sie den Editor.