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 updateBefehl ab. Ältere gcloud CLI-Versionen unterstützen möglicherweise nicht die Ausführung der Befehle in diesem Dokument.
- Prüfen Sie die Anforderungen und Einschränkungen für C4A, N4A und T2A Knoten.
- Prüfen Sie, ob Sie die erforderlichen Berechtigungen zum Erstellen von Clustern haben. Sie sollten mindestens ein Kubernetes Engine-Cluster Administrator sein.
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
- Rufen Sie die Seite Willkommen auf.
- Klicken Sie im Feld Projektnummer auf In die Zwischenablage kopieren.
- Rufen Sie die Seite IAM auf.
- Klicken Sie auf Zugriffsrechte erteilen.
- Geben Sie im Feld Neue Hauptkonten den folgenden Wert an:
Ersetzen SiePROJECT_NUMBER-compute@developer.gserviceaccount.comPROJECT_NUMBERdurch die kopierte Projektnummer. - Wählen Sie im Menü Rolle auswählen die Kubernetes Engine Default Node Service Account Rolle aus.
- Klicken Sie auf Speichern.
gcloud
- Suchen Sie Ihre Google Cloud Projektnummer:
gcloud projects describe PROJECT_ID \ --format="value(projectNumber)"
Ersetzen Sie
PROJECT_IDdurch Ihre Projekt-ID.Die Ausgabe sieht etwa so aus:
12345678901
- Weisen Sie dem
Compute Engine-Standarddienstkonto die
roles/container.defaultNodeServiceAccountRolle zu:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \ --role="roles/container.defaultNodeServiceAccount"
Ersetzen Sie
PROJECT_NUMBERdurch 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-KnotenpoolCONTROL_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-aSie 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-4odert2a-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
Rufen Sie in der Google Cloud Console die Seite Kubernetes-Cluster erstellen auf.
Konfigurieren Sie den Cluster. Weitere Informationen finden Sie in der Anleitung Zonalen Cluster erstellen, oder Regionalen Cluster erstellen.
Wählen Sie einen Standort aus, an dem ARM-Knoten verfügbar sind.
- Wählen Sie im Abschnitt Clustergrundlagen unter Standorttyp die Option „Zonal“ oder „Regional“ aus:
- Wählen Sie im Drop-down-Menü eine Zone oder Region aus, in der ARM-Knoten verfügbar sind.
- Klicken Sie auf das Kästchen Standardknotenstandorte angeben. Wählen Sie die Zonen aus, in denen Arm-Knoten verfügbar sind.
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.
- Optional können Sie ein benutzerdefiniertes IAM-Dienstkonto für Ihre Knoten angeben:
- Maximieren Sie auf der Seite Erweiterte Einstellungen den Abschnitt Sicherheit.
- 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.
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:
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 ClusterCONTROL_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öchtenNODE_LOCATIONS: die Zonen für Ihren Knotenpool, z. B.us-central1-aSie 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-4odert2a-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:
Öffnen Sie in der Google Cloud Console die Seite Google Kubernetes Engine.
Klicken Sie in der Clusterliste auf den Namen des Clusters, den Sie ändern möchten.
Klicken Sie auf Knotenpool hinzufügen add_box.
Konfigurieren Sie den Knotenpool.
Wählen Sie Knotenstandorte aus, an denen ARM-Knoten verfügbar sind.
- Klicken Sie im Abschnitt Knotenpooldetails das Kästchen Knotenstandorte angeben an.
- Wählen Sie die Zonen aus, in denen Arm-Knoten verfügbar sind.
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.
Klicken Sie im Navigationsmenü auf Sicherheit.
- Optional können Sie ein benutzerdefiniertes IAM-Dienstkonto für Ihre Knoten angeben:
- Maximieren Sie auf der Seite Erweiterte Einstellungen den Abschnitt Sicherheit.
- 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.
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:
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
- Images mit mehreren Architekturen für ARM-Arbeitslasten erstellen
- Arm-Arbeitslast für die Bereitstellung vorbereiten
- Anwendung „x86“ in GKE für mehrere Architekturen mit Arm migrieren