Standardcluster und ‑knotenpools mit Arm-Knoten erstellen

In diesem Dokument wird erläutert, wie Sie einen GKE-Standardcluster oder einen Knotenpool mit ARM-Knoten erstellen, damit Sie ARM-Arbeitslasten in Google Kubernetes Engine (GKE) ausführen können. Informationen zum Bereitstellen von ARM-Arbeitslasten auf Autopilot-Clustern finden Sie unter Autopilot-Arbeitslasten in der ARM Architektur bereitstellen.

Sie können Cluster mit ARM-Knoten mithilfe der C4A, N4A oder Tau T2A Maschinenserien erstellen. Weitere Informationen zu den Vorteilen von ARM und zur Auswahl der besten Maschinenserie für Ihre Arbeitslasten finden Sie unter ARM-VMs in Compute.

Mit GKE können Sie einen Cluster erstellen, der Knotenpools mit einem Architekturtyp (z. B. ARM) oder mehreren Architekturtypen (z. B. ARM und x86) enthält. Wenn Sie Knoten mit mehreren Architekturtypen ausführen, können Sie Arbeitslasten architekturübergreifend im selben Cluster bereitstellen.

Dieses Dokument richtet sich an Operatoren und Entwickler, die Cloud-Ressourcen bereitstellen und konfigurieren und Arbeitslasten bereitstellen. Weitere Informationen zu gängigen Rollen finden Sie unter Häufig verwendete GKE-Nutzerrollen und Aufgaben.

Machen Sie sich vor dem Lesen dieses Dokuments mit ARM-Arbeitslasten in GKE vertraut.

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 gcloud CLI-Versionen unterstützen möglicherweise nicht die Ausführung der Befehle in diesem Dokument.

IAM-Dienstkonten für GKE einrichten

GKE verwendet IAM-Dienstkonten, die an Ihre Knoten angehängt sind, um Systemaufgaben wie Logging und Monitoring auszuführen. Diese Knotendienstkonten müssen in Ihrem Projekt mindestens die Kubernetes Engine Default Node Service Account (roles/container.defaultNodeServiceAccount) Rolle haben. Standardmäßig verwendet GKE das Compute Engine-Standarddienstkonto, das automatisch in Ihrem Projekt erstellt wird, als Knotendienstkonto.

Führen Sie die folgenden Schritte aus, um dem Compute Engine-Standarddienstkonto die Rolle roles/container.defaultNodeServiceAccount zuzuweisen:

Console

  1. Rufen Sie die Seite Willkommen auf.

    Willkommen aufrufen

  2. Klicken Sie im Feld Projektnummer auf In die Zwischenablage kopieren.
  3. Rufen Sie die Seite IAM auf.

    IAM aufrufen

  4. Klicken Sie auf Zugriffsrechte erteilen.
  5. Geben Sie im Feld Neue Hauptkonten den folgenden Wert an:
    PROJECT_NUMBER-compute@developer.gserviceaccount.com
    Ersetzen Sie PROJECT_NUMBER durch die kopierte Projektnummer.
  6. Wählen Sie im Menü Rolle auswählen die Kubernetes Engine Default Node Service Account Rolle aus.
  7. Klicken Sie auf Speichern.

gcloud

  1. Suchen Sie Ihre Google Cloud Projektnummer:
    gcloud projects describe PROJECT_ID \
        --format="value(projectNumber)"

    Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID.

    Die Ausgabe sieht etwa so aus:

    12345678901
    
  2. Weisen Sie dem Compute Engine-Standarddienstkonto die roles/container.defaultNodeServiceAccount Rolle zu:
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \
        --role="roles/container.defaultNodeServiceAccount"

    Ersetzen Sie PROJECT_NUMBER durch die Projektnummer aus dem vorherigen Schritt.

Cluster mit Arm-Knotenpool erstellen

In der folgenden Anleitung wird erläutert, wie Sie einen neuen Cluster mit einem Knotenpool erstellen, der ARM-Knoten aus der C4A, N4A oder der Tau T2A-Maschinenserie ausführt.

Sie können den Cluster über die gcloud CLI, die Google Cloud Console oder Terraform erstellen.

gcloud

Erstellen Sie mit ARM-Knoten einen neuen zonalen Cluster mit dem Standardknotenpool:

gcloud container clusters create CLUSTER_NAME \
    --location CONTROL_PLANE_LOCATION \
    --node-locations NODE_LOCATIONS \
    --machine-type ARM_MACHINE_TYPE \
    --num-nodes NUM_NODES

Dabei gilt:

  • CLUSTER_NAME: Name des neuen Clusters mit einem Armor-Knotenpool
  • CONTROL_PLANE_LOCATION: Compute Engine Standort der Steuerungsebene Ihres Clusters Geben Sie für regionale Cluster eine Region und für zonale Cluster eine Zone an. Die ausgewählte Region oder Zone muss einer der verfügbaren Standorte für die von Ihnen ausgewählte ARM-Maschinenserie sein.
  • NODE_LOCATIONS: die Zonen für Ihren Knotenpool, z. B. us-central1-a Sie müssen eine der verfügbaren Zonen auswählen, damit die Erstellung der ARM-Maschinenserie oder des Knotenpools nicht fehlschlägt.
  • ARM_MACHINE_TYPE: eine der verfügbaren C4A -, N4A - oder T2A -Maschinenformen, z. B. c4a-standard-8, n4a-standard-4 oder t2a-standard-16.
  • NUM_NODES: die Anzahl der Knoten für Ihren Arm-Knotenpool

Wir empfehlen dringend, ein IAM-Dienstkonto mit minimalen Berechtigungen anzugeben , das von Ihren Knoten anstelle des Compute Engine-Standarddienstkontos verwendet werden kann. Informationen zum Erstellen eines Dienstkontos mit minimalen Berechtigungen finden Sie unter Dienstkonto mit minimalen Berechtigungen verwenden.

Wenn Sie in der gcloud CLI ein benutzerdefiniertes Dienstkonto angeben möchten, fügen Sie Ihrem Befehl das folgende Flag hinzu:

--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

Ersetzen Sie SERVICE_ACCOUNT_NAME durch den Namen Ihres Dienstkontos mit minimalen Berechtigungen.

Wenn Sie zusätzliche Einstellungen für Ihren Cluster festlegen möchten, finden Sie in der gcloud container clusters create Referenz eine vollständige Liste der verfügbaren Einstellungen beim Erstellen von Clustern.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Kubernetes-Cluster erstellen auf.

    Kubernetes-Cluster erstellen

  2. Konfigurieren Sie den Cluster. Weitere Informationen finden Sie in der Anleitung Zonalen Cluster erstellen, oder Regionalen Cluster erstellen.

  3. Wählen Sie einen Standort aus, an dem ARM-Knoten verfügbar sind.

    1. Wählen Sie im Abschnitt Clustergrundlagen unter Standorttyp die Option „Zonal“ oder „Regional“ aus:
    2. Wählen Sie im Drop-down-Menü eine Zone oder Region aus, in der ARM-Knoten verfügbar sind.
    3. Klicken Sie auf das Kästchen Standardknotenstandorte angeben. Wählen Sie die Zonen aus, in denen Arm-Knoten verfügbar sind.
  4. So wählen Sie einen ARM-Maschinentyp aus: Klicken Sie im Unterabschnitt Knoten unter Knoteneinstellungen konfigurieren > Maschinenkonfiguration > Maschinenfamilie auf FÜR ALLGEMEINE ZWECKE. Wählen Sie im Drop-down-Menü Reihe die Option C4A, N4A oder T2A aus. Wählen Sie im Drop-down-Menü Maschinentyp eine der verfügbaren Optionen aus.

  5. Optional können Sie ein benutzerdefiniertes IAM-Dienstkonto für Ihre Knoten angeben:
    1. Maximieren Sie auf der Seite Erweiterte Einstellungen den Abschnitt Sicherheit.
    2. Wählen Sie im Menü Dienstkonto das gewünschte Dienstkonto aus.

    Wir empfehlen dringend, ein IAM-Dienstkonto mit minimalen Berechtigungen anzugeben , das von Ihren Knoten anstelle des Compute Engine-Standarddienstkontos verwendet werden kann. Informationen zum Erstellen eines Dienstkontos mit minimalen Berechtigungen finden Sie unter Dienstkonto mit minimalen Berechtigungen verwenden.

  6. Klicken Sie auf Erstellen.

Terraform

Informationen zum Erstellen eines zonalen Clusters mit dem Standard-Knotenpool mit Arm-Knoten mit Terraform finden Sie im folgenden Beispiel:

resource "google_container_cluster" "default" {
  name               = "gke-standard-zonal-arm-cluster"
  location           = "us-central1-a"
  node_locations     = ["us-central1-b", "us-central1-f"]
  initial_node_count = 2

  node_config {
    machine_type    = "t2a-standard-1"
    service_account = google_service_account.default.email
  }
}

Weitere Informationen zur Verwendung von Terraform finden Sie unter Terraform-Unterstützung für GKE.

Einem GKE-Cluster einen Knotenpool hinzufügen

Sie können einem GKE Standard-Cluster mithilfe der gcloud CLI, der Google Cloud Console oder Terraform einen neuen Knotenpool hinzufügen.

Als Best Practice zum Erstellen eines GKE-Cluster mit einem beliebigen Knotentyp empfehlen wir, dass Sie ein IAM-Dienstkonto (Identity and Access Management) mit minimalen Berechtigungen erstellen und verwenden, das von Ihren Knotenpools anstelle des Compute Engine-Standarddienstkontos verwendet wird.

Eine Anleitung zum Erstellen eines Dienstkontos mit minimalen Berechtigungen finden Sie unter Sicherheit von Clustern erhöhen.

gcloud

Fügen Sie einem vorhandenen Cluster einen Arm-Knotenpool hinzu:

gcloud container node-pools create NODE_POOL_NAME \
    --cluster CLUSTER_NAME \
    --location CONTROL_PLANE_LOCATION \
    --node-locations NODE_LOCATIONS \
    --machine-type ARM_MACHINE_TYPE \
    --num-nodes NUM_NODES \
    --service-account SERVICE_ACCOUNT

Dabei gilt:

  • NODE_POOL_NAME: Name des neuen Arm-Knotenpools für Ihren vorhandenen Cluster
  • CONTROL_PLANE_LOCATION: Compute Engine Standort der Steuerungsebene Ihres Clusters Geben Sie für regionale Cluster eine Region und für zonale Cluster eine Zone an.
  • CLUSTER_NAME: Name des Clusters, dem Sie einen Arm-Knotenpool hinzufügen möchten
  • NODE_LOCATIONS: die Zonen für Ihren Knotenpool, z. B. us-central1-a Sie müssen eine der verfügbaren Zonen auswählen, damit die Erstellung der ARM-Maschinenserie oder des Knotenpools nicht fehlschlägt.
  • ARM_MACHINE_TYPE: eine der verfügbaren C4A -, N4A - oder T2A -Maschinenformen, z. B. c4a-standard-8, n4a-standard-4 oder t2a-standard-16.
  • NUM_NODES: die Anzahl der Knoten für Ihren Arm-Knotenpool

Wir empfehlen dringend, ein IAM-Dienstkonto mit minimalen Berechtigungen anzugeben , das von Ihren Knoten anstelle des Compute Engine-Standarddienstkontos verwendet werden kann. Informationen zum Erstellen eines Dienstkontos mit minimalen Berechtigungen finden Sie unter Dienstkonto mit minimalen Berechtigungen verwenden.

Wenn Sie in der gcloud CLI ein benutzerdefiniertes Dienstkonto angeben möchten, fügen Sie Ihrem Befehl das folgende Flag hinzu:

--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

Ersetzen Sie SERVICE_ACCOUNT_NAME durch den Namen Ihres Dienstkontos mit minimalen Berechtigungen.

Wenn Sie zusätzliche Einstellungen für Ihren Knotenpool festlegen möchten, finden Sie in der gcloud container node-pools create Referenz eine vollständige Liste der verfügbaren Einstellungen für die Erstellung von Knotenpools.

Console

Führen Sie die folgenden Schritte aus, um einem vorhandenen Cluster einen Arm-Knotenpool hinzuzufügen:

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

    Zur Seite "Google Kubernetes Engine"

  2. Klicken Sie in der Clusterliste auf den Namen des Clusters, den Sie ändern möchten.

  3. Klicken Sie auf Knotenpool hinzufügen .

  4. Konfigurieren Sie den Knotenpool.

  5. Wählen Sie Knotenstandorte aus, an denen ARM-Knoten verfügbar sind.

    1. Klicken Sie im Abschnitt Knotenpooldetails das Kästchen Knotenstandorte angeben an.
    2. Wählen Sie die Zonen aus, in denen Arm-Knoten verfügbar sind.
  6. So wählen Sie einen ARM-Maschinentyp aus: Klicken Sie im Unterabschnitt Knoten unter Knoteneinstellungen konfigurieren > Maschinenkonfiguration > Maschinenfamilie auf FÜR ALLGEMEINE ZWECKE. Wählen Sie im Drop-down-Menü Reihe die Option C4A, N4A oder T2A aus. Wählen Sie im Drop-down-Menü Maschinentyp eine der verfügbaren Optionen aus.

  7. Klicken Sie im Navigationsmenü auf Sicherheit.

  8. Optional können Sie ein benutzerdefiniertes IAM-Dienstkonto für Ihre Knoten angeben:
    1. Maximieren Sie auf der Seite Erweiterte Einstellungen den Abschnitt Sicherheit.
    2. Wählen Sie im Menü Dienstkonto das gewünschte Dienstkonto aus.

    Wir empfehlen dringend, ein IAM-Dienstkonto mit minimalen Berechtigungen anzugeben , das von Ihren Knoten anstelle des Compute Engine-Standarddienstkontos verwendet werden kann. Informationen zum Erstellen eines Dienstkontos mit minimalen Berechtigungen finden Sie unter Dienstkonto mit minimalen Berechtigungen verwenden.

  9. Klicken Sie auf Erstellen , um den Knotenpool hinzuzufügen.

Terraform

Informationen zum Hinzufügen eines Knotenpools mit ARM-Knoten zu einem vorhandenen Cluster mithilfe von Terraform finden Sie im folgenden Beispiel:

resource "google_container_node_pool" "default" {
  name           = "gke-standard-zonal-arm-node-pool"
  cluster        = google_container_cluster.default.id
  node_locations = ["us-central1-a"]
  node_count     = 1

  node_config {
    machine_type = "t2a-standard-1"

    service_account = google_service_account.default.email
  }
}

Ersetzen Sie google_container_cluster.default.id durch den Namen Ihres Clusters.

Weitere Informationen zur Verwendung von Terraform finden Sie unter Terraform-Unterstützung für GKE.

Nächste Schritte