Vorbereitung

Auf dieser Seite werden die Schritte beschrieben, die Sie vor der Installation von Anthos-Clustern in AWS (GKE in AWS) ausführen müssen.

Umgebung

Zum Installieren von Anthos-Cluster in 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

Hinweise

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 Anthos-Cluster in AWS muss der Ersteller eines Verwaltungsdiensts 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

Anthos-Cluster in AWS benötigt 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

Einige der Schritte in diesem Dokument funktionieren möglicherweise nicht richtig, wenn Ihre Organisation Einschränkungen auf Ihre Google Cloud-Umgebung anwendet. In diesem Fall können Sie möglicherweise keine Aufgaben wie das Erstellen öffentlicher IP-Adressen oder Dienstkontoschlüssel ausführen. Wenn Sie eine Anfrage senden, die einen Fehler zu Einschränkungen zurückgibt, finden Sie entsprechende Informationen 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, in dem Sie Ihre Anthos-Cluster in der AWS-Umgebung verbinden. Sie verwenden „Inhaberberechtigungen“ nur, um die Anthos-Cluster in AWS-Dienstkonten im folgenden Abschnitt zu erstellen.

  • Installieren Sie die Google Cloud CLI.

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

Anthos-Cluster in AWS-Dienstkonten erstellen

In diesem Abschnitt erstellen Sie drei IAM-Dienstkonten und -Schlüssel für Anthos-Cluster in 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 in der Google Cloud Console die Seite 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 Anthos-Cluster in 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

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

    macOS

    gsutil 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.

Anthos-Cluster in AWS erfordern 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 Anthos-Clustern in 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. Anthos-Cluster in AWS aktualisieren Ihre Konfiguration. Anschließend können Sie ein Upgrade auf Version 0.14.x durchführen.

Kubernetes

Anthos-Cluster in AWS benötigen kubectl Version 1.17 oder höher. 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