Voraussetzungen

Auf dieser Seite werden die Schritte beschrieben, die Sie vor der Installation von GKE on AWS ausführen müssen.

Umgebung

Zum Installieren von GKE on AWS benötigen Sie eine Umgebung, in der Sie eine Vielzahl von Tools installieren und ausführen können. Bei den folgenden Schritten wird davon ausgegangen, dass Sie eine Bash-Shell unter Linux oder macOS verwenden. Wenn Sie nicht auf eine Bash-Shell-Umgebung zugreifen können, verwenden Sie Cloud Shell.

AWS-Anforderungen

Um dieses Thema abzuschließen, benötigen Sie ein AWS-Konto mit Befehlszeilenzugriff und zwei Schlüssel für AWS Key Management Service (KMS) in derselben Region wie Ihre Nutzercluster.

Weitere Informationen zu anderen erforderlichen AWS-Ressourcen finden Sie unter Anforderungen.

AWS konfigurieren

Vorbereitung

Führen Sie die folgenden Schritte aus, bevor Sie diesen Abschnitt ausführen:

  • Laden Sie die AWS-Befehlszeile herunter und installieren Sie sie. Bestätigen Sie die Installation, indem Sie aws --version ausführen. Wenn die ausführbare Datei nicht gefunden wird, fügen Sie das Tool aws zu PATH hinzu.
  • Konfigurieren Sie Ihre AWS IAM-Anmeldedaten und Ihre AWS-Region mit aws configure.

Administratorberechtigungen

Für GKE on AWS muss der Ersteller eines Verwaltungsdienstes bestimmte Berechtigungen haben. Bevor Sie einen Verwaltungsdienst oder Nutzercluster erstellen können, erstellen oder erhalten Sie Zugriff auf AWS IAM-Anmeldedaten, die den Anforderungen entsprechen.

KMS-Schlüssel erstellen

GKE on AWS erfordert zwei AWS KMS-Schlüssel. Die KMS-Schlüssel verschlüsseln Folgendes:

Führen Sie die folgenden Schritte aus, um zwei AWS-KMS-Schlüssel zu erstellen.

Befehlszeile

  1. Erstellen Sie in Ihrem AWS-Konto einen KMS-Schlüssel.

    aws kms create-key
    

    Die Ausgabe enthält die Metadaten des Schlüssels.

  2. Kopieren Sie in der Ausgabe des vorherigen Befehls den Amazon-Ressourcennamen (ARN) des Schlüssels aus dem Feld Arn. Beispielsweise hat ein Schlüssel in der Region us-west-2 den ARN arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

  3. Erstellen Sie mit aws kms create-alias einen Alias für den Schlüssel. Mit einem Alias können Sie Ihre AWS-KMS-Schlüssel nach Namen verwalten.

    aws kms create-alias \
        --alias-name=alias/key-name \
        --target-key-id=key-arn
    
  4. Wiederholen Sie die vorherigen Schritte für einen weiteren Schlüssel.

Console

  1. Melden Sie sich bei der AWS-Konsole an.
  2. Gehen Sie zu KMS und wählen Sie in der Seitenleiste Customer managed keys aus.
  3. Klicken Sie auf Create key.
  4. Behalten Sie die Standardoptionen bei.
  5. Wählen Sie den Schlüssel aus der Liste aus, nachdem er erstellt wurde.
  6. Kopieren Sie den ARN des Schlüssels.
  7. Wiederholen Sie die vorherigen Schritte für einen weiteren Schlüssel.

Google Cloud -Anforderungen

Von Ihrer Organisation definierte Sicherheitsbeschränkungen verhindern möglicherweise, dass die folgenden Schritte ausgeführt werden. Informationen zur Fehlerbehebung finden Sie unter Anwendungen in einer eingeschränkten Google Cloud -Umgebung entwickeln.

Hinweise

  • Sorgen Sie dafür, dass Sie die Projektinhaberberechtigungen für ein Google-Konto haben, damit Sie APIs in dem Google Cloud Projekt aktivieren können, mit dem Sie Ihre GKE on AWS-Umgebung verbinden. Sie verwenden „Inhaberberechtigungen“ nur, um die GKE on AWS-Dienstkonten im folgenden Abschnitt zu erstellen.

  • Installieren Sie die Google Cloud CLI.

  • Die GKE Enterprise API muss für Ihr Google Cloud Projekt aktiviert sein. Wenn Sie diese API aktivieren, können Sie andere GKE Enterprise-Funktionen mit Ihrem Projekt verwenden. Google Cloud

GKE on AWS-Dienstkonten erstellen

In diesem Abschnitt erstellen Sie drei IAM-Dienstkonten und Schlüssel für GKE on AWS. Diese Dienstkonten werden in der folgenden Liste beschrieben:

Name Rollen Beschreibung
management-sa gkehub.admin Berechtigungen zum Verwalten von Hub-Mitgliedschaften
hub-sa gkehub.connect Berechtigung zum Einrichten von Connect zwischen Ihren Nutzerclustern und Hub.
node-sa storage.objectViewer Berechtigung zum Zugriff auf Container Registry

Befehlszeile

  1. Authentifizieren Sie sich mit dem Google Cloud CLI:

    gcloud auth login &&\
    gcloud auth application-default login
    

    Sie werden zweimal aufgefordert, cloud.google.com aufzurufen und sich mit Ihrem Google-Konto zu authentifizieren.

  2. Legen Sie Ihr Google Cloud -Projekt als Umgebungsvariable fest und legen Sie Ihre Standard-project-id mit der gcloud CLI fest.

    export PROJECT_ID=project-id
    
    gcloud config set project $PROJECT_ID
    

    Ersetzen Sie den Wert von project-id durch Ihr Google Cloud Projekt.

  3. Aktivieren Sie die Google Cloud APIs.

    gcloud services enable anthos.googleapis.com
    gcloud services enable cloudresourcemanager.googleapis.com
    gcloud services enable gkehub.googleapis.com
    gcloud services enable gkeconnect.googleapis.com
    gcloud services enable logging.googleapis.com
    gcloud services enable monitoring.googleapis.com
    gcloud services enable serviceusage.googleapis.com
    gcloud services enable stackdriver.googleapis.com
    gcloud services enable storage-api.googleapis.com
    gcloud services enable storage-component.googleapis.com
    
  4. Erstellen Sie die Dienstkonten mit gcloud, indem Sie die folgenden Befehle ausführen.

    gcloud iam service-accounts create management-sa
    gcloud iam service-accounts create hub-sa
    gcloud iam service-accounts create node-sa
    
  5. Laden Sie die Schlüssel für jedes Dienstkonto mit gcloud herunter, indem Sie die folgenden Befehle ausführen.

    gcloud iam service-accounts keys create management-key.json \
         --iam-account management-sa@$PROJECT_ID.iam.gserviceaccount.com
    gcloud iam service-accounts keys create hub-key.json \
         --iam-account hub-sa@$PROJECT_ID.iam.gserviceaccount.com
    gcloud iam service-accounts keys create node-key.json \
         --iam-account node-sa@$PROJECT_ID.iam.gserviceaccount.com
    
  6. Weisen Sie dem Verwaltungsdienstkonto Rollen zu.

    gcloud projects add-iam-policy-binding \
        $PROJECT_ID \
        --member serviceAccount:management-sa@$PROJECT_ID.iam.gserviceaccount.com \
        --role roles/gkehub.admin
    
  7. Weisen Sie dem Hub-Dienstkonto Rollen zu.

    gcloud projects add-iam-policy-binding \
        $PROJECT_ID \
        --member serviceAccount:hub-sa@$PROJECT_ID.iam.gserviceaccount.com \
        --role roles/gkehub.connect
    
  8. Weisen Sie dem Knotendienstkonto Rollen zu.

    gcloud projects add-iam-policy-binding \
          $PROJECT_ID \
          --member serviceAccount:node-sa@$PROJECT_ID.iam.gserviceaccount.com \
          --role roles/storage.objectViewer
    

Console

  1. Öffnen Sie die Seite Google Cloud API-Bibliothek.
  2. Wählen Sie oben auf dem Bildschirm im Drop-down-Menü Ihr bevorzugtes Projekt aus.
  3. Suchen und aktivieren Sie die folgenden APIs:

    • Anthos
    • Cloud Resource Manager
    • Cloud Storage
    • Cloud Logging
    • Google Cloud Storage JSON API
    • GKE Hub
    • GKE Connect API
    • Service Usage
    • Stackdriver
    • Stackdriver Monitoring
  4. Öffnen Sie die Seite Dienstkonten.

  5. Erstellen Sie als Nächstes ein Dienstkonto und weisen Sie dem management-sa-Dienstkonto Rollen zu.

    1. Klicken Sie auf Dienstkonto erstellen.
    2. Geben Sie für das Konto unter Name den Namen "management-sa" ein und klicken Sie auf Erstellen. Der Bildschirm Diesem Dienstkonto Zugriff auf das Projekt erteilen wird angezeigt.
    3. Fügen Sie die GKE-HUB-Administratorrollen hinzu.
    4. Klicken Sie auf Weiter. Der Bildschirm Nutzern Zugriff auf dieses Dienstkonto erteilen wird angezeigt.
    5. Klicken Sie auf Fertig. Der Bildschirm Dienstkonten für Projekt wird angezeigt.
    6. Suchen Sie die Zeile, die die E-Mail Ihres Dienstkontos, management-sa@project_id.iam.gserviceaccount.com, enthält.
    7. Klicken Sie auf das Aktionsmenü für das Dienstkonto und wählen Sie Schlüssel verwalten aus.
    8. Klicken Sie auf das Drop-down-Menü Schlüssel hinzufügen.
    9. Klicken Sie auf Neuen Schlüssel erstellen.
    10. Wählen Sie als Schlüsseltyp JSON aus und klicken Sie auf Erstellen. Der Browser lädt den Dienstkontoschlüssel herunter.
    11. Benennen Sie die Datei in management-key.json um.
  6. Erstellen Sie als Nächstes ein Dienstkonto und weisen Sie dem hub-sa-Dienstkonto Rollen zu.

    1. Klicken Sie auf Dienstkonto erstellen.
    2. Geben Sie für das Konto unter Name den Namen "hub-sa" ein und klicken Sie auf Erstellen. Der Bildschirm Diesem Dienstkonto Zugriff auf das Projekt erteilen wird angezeigt.
    3. Fügen Sie die Rolle "GKE-Hub-Verbindungs-Agent" hinzu.
    4. Klicken Sie auf Weiter. Der Bildschirm Nutzern Zugriff auf dieses Dienstkonto erteilen wird angezeigt.
    5. Klicken Sie auf Fertig. Der Bildschirm Dienstkonten für Projekt wird angezeigt.
    6. Suchen Sie die Zeile, die die E-Mail Ihres Dienstkontos, hub-sa@project_id.iam.gserviceaccount.com, enthält.
    7. Klicken Sie auf das Aktionsmenü für das Dienstkonto und wählen Sie Schlüssel verwalten aus.
    8. Klicken Sie auf das Drop-down-Menü Schlüssel hinzufügen.
    9. Klicken Sie auf Neuen Schlüssel erstellen.
    10. Wählen Sie als Schlüsseltyp JSON aus und klicken Sie auf Erstellen. Der Browser lädt den Dienstkontoschlüssel herunter.
    11. Benennen Sie die Datei in hub-key.json um.
  7. Erstellen Sie als Nächstes ein Dienstkonto und weisen Sie dem node-sa-Dienstkonto Rollen zu.

    1. Klicken Sie auf Dienstkonto erstellen.
    2. Geben Sie für das Konto unter Name den Namen "node-sa" ein und klicken Sie auf Erstellen. Der Bildschirm Diesem Dienstkonto Zugriff auf das Projekt erteilen wird angezeigt.
    3. Fügen Sie die Rolle „Storage-Objekt-Betrachter“ hinzu.
    4. Klicken Sie auf Fertig. Der Bildschirm Dienstkonten für Projekt wird angezeigt.
    5. Suchen Sie die Zeile, die die E-Mail Ihres Dienstkontos, node-sa@project_id.iam.gserviceaccount.com, enthält.
    6. Klicken Sie auf das Aktionsmenü für das Dienstkonto und wählen Sie Schlüssel verwalten aus.
    7. Klicken Sie auf das Drop-down-Menü Schlüssel hinzufügen.
    8. Klicken Sie auf Neuen Schlüssel erstellen.
    9. Wählen Sie als Schlüsseltyp JSON aus und klicken Sie auf Erstellen. Der Browser lädt den Dienstkontoschlüssel herunter.
    10. Benennen Sie die Datei in node-key.json um.

anthos-gke-Befehlszeilentool

anthos-gke ist ein Befehlszeilentool für GKE on AWS. Mit anthos-gke erstellen Sie die Konfiguration und installieren einen Verwaltungsdienst. Die neueste Version von anthos-gke ist aws-1.14.1-gke.0.

Das anthos-gke-Befehlszeilentool unterstützt nur Linux und macOS.

  1. Laden Sie die Binärdatei aus Cloud Storage herunter.

    Linux

    gcloud storage cp gs://gke-multi-cloud-release/aws/aws-1.14.1-gke.0/bin/linux/amd64/anthos-gke .
    

    macOS

    gcloud storage cp gs://gke-multi-cloud-release/aws/aws-1.14.1-gke.0/bin/darwin/amd64/anthos-gke .
    
  2. Aktualisieren Sie die Berechtigungen von anthos-gke und kopieren Sie sie in /usr/local/bin.

    chmod 755 anthos-gke
    sudo mv anthos-gke /usr/local/bin
    
  3. Prüfen Sie, ob die Version aws-1.14.1-gke.0 ist.

    anthos-gke version
    

Berechtigungen für das anthos-gke-Befehlszeilentool

Um das anthos-gke-Befehlszeilentool zu verwenden, muss der Nutzer, der den Befehl ausführt, die Rollen „ServiceUsageViewer“ und „StorageAdmin“ haben. Führen Sie die folgenden Befehle aus, um die Rollen Ihrem IAM-Hauptkonto hinzuzufügen:

gcloud projects add-iam-policy-binding PROJECT_NAME \
    --member user:USER_NAME \
    --role roles/serviceusage.serviceUsageViewer
gcloud projects add-iam-policy-binding PROJECT_NAME \
    --member user:USER_NAME \
    --role roles/storage.admin

Ersetzen Sie Folgendes:

  • PROJECT_NAME: Ihr Google Cloud Projekt
  • USER_NAME: Nutzername, der das anthos-gke-Befehlszeilentool ausführt. Wenn Sie ein Dienstkonto nutzen, verwenden Sie serviceAccount:SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com.

Terraform

Das anthos-gke-Tool generiert Terraform-Konfigurationsdateien und ruft das terraform-Befehlszeilentool auf.

GKE on AWS erfordert eine Version von Terraform nach v0.14.3. Mit dem folgenden Befehl können Sie Ihre Terraform-Version prüfen:

terraform version

Wenn Ihre Version älter als v0.14.3 ist, laden Sie Terraform herunter und installieren Sie es, bevor Sie einen verwalteten Dienst erstellen.

Terraform aktualisieren

Führen Sie ein Upgrade von Terraform nach der Installation von GKE on AWS durch. Aktualisieren Sie dazu Ihre Terraform-Binärdatei der Reihe nach über jede Nebenversion.

Wenn Sie beispielsweise Terraform von v0.12.x auf Version 0.14.x aktualisieren möchten, müssen Sie v0.13.x vorübergehend installieren. Führen Sie nach der Installation von Version 0.13.x anthos-gke aws management init und anthos-gke aws management apply aus. GKE on AWS aktualisiert Ihre Konfiguration. Anschließend können Sie ein Upgrade auf Version 0.14.x durchführen.

Kubernetes

GKE on AWS erfordert kubectl ab Version 1.17. Sie können prüfen, welche Version von kubectl verwendet wird, indem Sie folgenden Befehl ausführen:

kubectl version --client -o yaml | grep gitVersion

Wenn Sie nicht eine Version ab 1.17 haben, installieren Sie eine neuere Version von kubectl.

Nächste Schritte