Cluster verwalten

In diesem Dokument wird beschrieben, wie Sie Ihre Cluster in Google Kubernetes Engine (GKE) verwalten. Weitere Informationen zur Funktionsweise von Clustern finden Sie unter Cluster architektur.

Hinweis

Führen Sie die folgenden Aufgaben aus, bevor Sie beginnen:

  • Aktivieren Sie die Google Kubernetes Engine API.
  • Google Kubernetes Engine API aktivieren
  • Wenn Sie die Google Cloud CLI für diesen Task verwenden möchten, installieren und dann initialisieren Sie die gcloud CLI. Wenn Sie die gcloud CLI bereits installiert haben, rufen Sie die neueste Version mit dem gcloud components update Befehl ab. Ältere Versionen der gcloud CLI unterstützen möglicherweise nicht die Ausführung der Befehle in diesem Dokument.

Cluster ansehen

gcloud

  • Führen Sie den folgenden Befehl aus, um einen bestimmten Cluster anzuzeigen:

    gcloud container clusters describe CLUSTER_NAME \
        --location=CONTROL_PLANE_LOCATION
    

    Dabei gilt:

    • CLUSTER_NAME: Der Name Ihres Clusters.
    • CONTROL_PLANE_LOCATION: Der Compute Engine Standort der Steuerungsebene Ihres Clusters. Geben Sie für regionale Cluster eine Region und für zonale Cluster eine Zone an.
  • Führen Sie den folgenden Befehl aus, um alle Cluster in einem Projekt in einer beliebigen Region oder Zone aufzulisten:

    gcloud container clusters list
    
  • Führen Sie den folgenden Befehl aus, um Cluster in der angegebenen Region oder Zone aufzulisten:

    gcloud container clusters list \
        --location=CONTROL_PLANE_LOCATION
    

Console

Rufen Sie in der Cloud de Confiance Console die Seite Google Kubernetes Engine auf, um sich Ihre Cluster anzusehen.

Zur Seite "Google Kubernetes Engine"

Für weitere Informationen zu einem Cluster wählen Sie den Cluster in der Liste aus.

Standardcluster für kubectl festlegen

Wenn Sie mehrere Cluster haben, können Sie einen Standardcluster für das Befehlszeilentool kubectl festlegen.

Weitere Informationen finden Sie unter Standardcluster für kubectl Befehle festlegen.

Standardcluster für gcloud festlegen

Zum Festlegen eines Standardclusters für gcloud-Befehle führen Sie den folgenden Befehl aus:

gcloud config set container/cluster CLUSTER_NAME

Ersetzen Sie CLUSTER_NAME durch den Namen Ihres Clusters.

Cluster aktualisieren

Standardmäßig werden Ihre Cluster von GKE automatisch aktualisiert. Sie können Ihre Standardcluster jedoch selbst aktualisieren. Weitere Informationen finden Sie unter Manuelles Upgrade eines Clusters oder Knotenpools.

Weitere Informationen zum Upgrade von Clustern finden Sie unter Best Practices für das Upgrade von Clustern.

Zonen in einem Standardcluster hinzufügen oder entfernen

In den folgenden Abschnitten wird erläutert, wie Sie Clusterzonen hinzufügen oder entfernen. Alle Zonen müssen sich in der Region des Clusters befinden.

Zonen für zonale Cluster ändern

Bei vorhandenen zonalen Clustern können Sie Zonen hinzufügen oder entfernen.

gcloud

Mit dem Befehl gcloud container clusters update können Sie Zonen für einen zonalen Cluster hinzufügen oder entfernen:

gcloud container clusters update CLUSTER_NAME \
  --location CONTROL_PLANE_LOCATION \
  --node-locations COMPUTE_ZONE1,COMPUTE_ZONE2

Dabei gilt:

  • CLUSTER_NAME: Der Name, den Sie für den Cluster auswählen.
  • CONTROL_PLANE_LOCATION: Die Compute Engine Zone der Steuerungsebene Ihres Clusters.
  • COMPUTE_ZONE1,COMPUTE_ZONE2,[...]: die Zonen, in denen Knoten erstellt werden. Sie können beliebig viele Zonen für Ihren Cluster angeben. Alle Zonen müssen sich in derselben Region befinden wie die Steuerungsebene des Clusters, die durch das Flag --location angegeben wird. Bei zonalen Clustern muss --node-locations die primäre Zone des Clusters enthalten.

example-cluster wird beispielsweise in us-central1-a ausgeführt. Fügen Sie dem Cluster mit dem folgenden Befehl zwei weitere Zonen hinzu.

gcloud container clusters update example-cluster \
  --location us-central1-a
  --node-locations us-central1-a,us-central1-b,us-central1-c

Ein weiteres Beispiel: example-cluster wird in us-central1-a, us-central1-b und us-central1-c ausgeführt. Wenn der Cluster nur in us-central1-a und us-central1-b ausgeführt werden soll, geben Sie den folgenden Befehl ein:

gcloud container clusters update example-cluster \
  --location us-central1-a \
  --node-locations us-central1-a,us-central1-b

Console

Führen Sie die folgenden Schritte aus, um Zonen in einem vorhandenen Cluster hinzuzufügen oder zu entfernen:

  1. Öffnen Sie in der Cloud de Confiance Console die Seite Google Kubernetes Engine.

    Zur Seite "Google Kubernetes Engine"

  2. Klicken Sie neben dem Cluster, den Sie bearbeiten möchten, auf Aktionen  und dann auf Bearbeiten .

  3. Klicken Sie auf dem Tab "Details" für das Feld Standardknotenzonen auf Knotenpools bearbeiten.

  4. Wählen Sie die gewünschten Zonen aus und speichern Sie Ihre Änderungen.

Zonen für regionale Cluster ändern

Derzeit können die Zonen vorhandener regionaler Cluster nicht mit dem Befehl gcloud geändert werden.

Mit dem Befehl gcloud container clusters update und dem Flag --node-locations können Sie Zonen für einen zonalen Cluster hinzufügen oder entfernen:

gcloud container clusters update CLUSTER_NAME \
  --location CONTROL_PLANE_LOCATION \
  --node-locations COMPUTE_ZONE1,COMPUTE_ZONE2

Dabei gilt:

  • CLUSTER_NAME: der Name des Clusters.
  • CONTROL_PLANE_LOCATION: Die Compute Engine Region der Steuerungsebene Ihres Clusters.
  • COMPUTE_ZONE1,COMPUTE_ZONE2,[...]: die Zonen-Steuerungsebenenregion, in der die Knoten erstellt werden. Die Zonen müssen sich im selben CONTROL_PLANE_LOCATION wie die Steuerungsebene des Clusters befinden, die durch das Flag --location angegeben wird.

Beispiel: example-cluster wird in us-central1-a und us-central1-b ausgeführt. Wenn Sie us-central1-c hinzufügen möchten, führen Sie den folgenden Befehl aus:

gcloud container clusters update example-cluster \
  --location us-central1 \
  --node-locations us-central1-a,us-central1-b,us-central1-c

Ein weiteres Beispiel: example-cluster wird in us-central1-a, us-central1-b und us-central1-c ausgeführt. Wenn der Cluster nur in us-central1-a und us-central1-b ausgeführt werden soll, geben Sie den folgenden Befehl ein:

gcloud container clusters update example-cluster \
  --location us-central1 \
  --node-locations us-central1-a,us-central1-b

Größe von Clustern anpassen

Durch die Größenanpassung eines Standardclusters können Sie die Anzahl der im Cluster vorhandenen Knoten erhöhen oder verringern. Wenn Sie beispielsweise verhindern möchten, dass Ihr Cluster Ressourcen verbraucht, ohne ihn zu löschen, können Sie die Knoten auf null skalieren. Weitere Informationen zum Anpassen der Größe finden Sie unter Größe von Clustern anpassen.

Die Größe von Autopilot-Clustern wird automatisch anhand Ihrer Pod-Spezifikationen angepasst. Daher müssen Sie die Größe des Clusters nicht selbst anpassen. Wenn Sie beispielsweise die Anzahl der Replikate des Pods oder die von ihm angeforderten Ressourcen ändern, wird der Cluster entsprechend vergrößert oder verkleinert.

Wenn Sie Ihre Cluster effizienter optimieren möchten, können Sie auch vertikales Pod-Autoscaling (VPA) verwenden. Das Autoscaling kann Werte für CPU- und Speicheranforderungen und Limits empfehlen oder die Werte automatisch aktualisieren.

Cluster löschen

Bei Bedarf können Sie einen Cluster löschen. Weitere Informationen finden Sie unter Cluster löschen.

Löschen von Clustern mit Ablehnungsrichtlinien verhindern

Sie können IAM-Ablehnungsrichtlinien verwenden, um das Löschen bestimmter kritischer Cluster zu verhindern, unabhängig davon, welches Hauptkonto den Löschvorgang versucht. Wenn Sie bestimmte Cluster in einer Ablehnungsrichtlinie verwenden möchten, fügen Sie diesen Clustern ein Tag hinzu. Anschließend verwenden Sie eine Ablehnungsbedingung, um die Ablehnungsrichtlinie nur auf Cluster anzuwenden, die dieses Tag haben.

So schützen Sie einen bestimmten Cluster vor dem Löschen:

  1. Erstellen und definieren Sie einen Tag-Schlüssel um geschützte Cluster zu identifizieren. Sie können beispielsweise einen Tag-Schlüssel mit dem Namen do_not_delete erstellen.

  2. Hängen Sie den Tag-Schlüssel an Ihren Cluster an.

  3. Erstellen Sie eine IAM-Ablehnungsrichtlinie, indem Sie eine der folgenden Optionen auswählen:

    Console

    1. Öffnen Sie in der Cloud de Confiance Console auf der Seite IAM den Tab Ablehnen.

      IAM-Ablehnung aufrufen

    2. Klicken Sie auf Ablehnungsrichtlinie erstellen. Die Seite Ablehnungsrichtlinie erstellen wird geöffnet.

    3. Geben Sie im Feld ID eine eindeutige, unveränderliche ID für Ihre Ablehnungsrichtlinie an.

    4. Führen Sie im Bereich Neue Ablehnungsregel die folgenden Schritte aus:

      1. Geben Sie im Feld Abgelehnte Hauptkonten principalSet://goog/public:all an, das alle Hauptkonten abdeckt.

      2. Suchen Sie im Bereich Abgelehnte Berechtigungen in der Drop-down-Liste Berechtigung 1 die Berechtigung container.googleapis.com/clusters.delete und wählen Sie sie aus.

      3. Klicken Sie auf Ablehnungsbedingung hinzufügen. Der Bereich Ablehnungsbedingung hinzufügen wird geöffnet.

      4. Geben Sie einen aussagekräftigen Titel für die Bedingung an, z. B. Cluster has the do_not_delete tag.

      5. Wählen Sie auf dem Tab Tool zur Bedingungserstellung in der Drop-down-Liste Bedingungstyp 1 die Option Tag aus.

      6. Wählen Sie in der Drop-down-Liste Operator die Option Hat Schlüssel aus.

      7. Wählen Sie in der Drop-down-Liste Schlüsselpfad den Tag-Schlüssel aus, den Sie auf den Cluster angewendet haben, z. B. do_not_delete.

      8. Klicken Sie auf Speichern.

    5. Klicken Sie auf Erstellen.

    gcloud

    1. Erstellen Sie eine JSON-Datei, die die folgende Ablehnungsrichtlinie enthält:

      {
        "displayName": "Prevent cluster deletion based on tag",
        "rules": [
          {
            "description": "Prevent cluster deletion based on tag",
            "deniedPrincipals": [
              "principalSet://goog/public:all"
            ],
            "deniedPermissions": [
              "container.googleapis.com/clusters.delete"
            ],
            "denialCondition": {
              "title": "Cluster has the do_not_delete tag",
              "expression": "resource.hasTagKey('TAG_KEY_NAME')
            }
          }
        ]
      }
      

      Ersetzen Sie TAG_KEY_NAME durch den Pfad zum erstellten Tag-Schlüssel.

    2. Erstellen Sie die Ablehnungsrichtlinie mit dem gcloud iam policies create Befehl:

      gcloud iam policies create POLICY_ID \
          --attachment-point=ATTACHMENT_POINT \
          --kind=denypolicies --policy-file=POLICY_FILE
      

      Dabei gilt:

      • POLICY_ID: Eine ID für Ihre Ablehnungsrichtlinie.
      • ATTACHMENT_POINT: Die Organisation, der Ordner oder das Projekt, an das die Ablehnungsrichtlinie angehängt werden soll. Wenn Sie die Ablehnungsrichtlinie beispielsweise an einen Ordner anhängen, gilt die Richtlinie für Cluster in allen Projekten in diesem Ordner. Weitere Informationen finden Sie unter Anhangspunkt.
      • POLICY_FILE: Der Pfad zur JSON-Datei, die Sie im vorherigen Schritt erstellt haben.

Nachdem Sie die Ablehnungsrichtlinie erstellt haben, kann niemand einen Cluster löschen, der den Tag-Schlüssel hat, der in der Ablehnungsbedingung angegeben ist. Jeder Versuch, den Cluster zu löschen, schlägt mit der Fehlermeldung Permission denied fehl. Wenn Sie das Löschen von Clustern zulassen möchten, müssen Sie diesen Tag-Schlüssel vom Cluster trennen.

Cluster zu einer Flotte hinzufügen

Wenn Ihre Organisation mehrere Cluster verwendet, können Sie die Multi-Cluster Verwaltung vereinfachen. Fügen Sie dafür die Cluster zu einer Flotte hinzu: eine logische Gruppierung von Kubernetes Clustern. Durch das Erstellen einer Flotte können Sie die Verwaltung von einzelnen Clustern bis hin zu ganzen Clustergruppen optimieren und Flotten-fähige Funktionen wie Multi-Cluster-Ingress, Config Sync und Policy Controller verwenden.

Sie können GKE-Cluster mithilfe der Cloud de Confiance Console, der gcloud CLI oder deklarativ mit Terraform oder Config Connector hinzufügen.

Weitere Informationen zur Funktionsweise von Flotten finden Sie unter Flottenverwaltung. Informationen zum Erstellen von Flotten finden Sie unter Flotten erstellen, um die Multi-Cluster-Verwaltung zu vereinfachen.

Nächste Schritte