Kurzanleitung

In diesem Thema wird beschrieben, wie Sie eine Arbeitslast auf Anthos-Cluster auf AWS (GKE auf AWS) erstellen und intern für Ihren Cluster freigeben.

Hinweis

Bevor Sie Anthos-Cluster auf AWS verwenden, führen Sie die folgenden Aufgaben aus:

  • Der Verwaltungsdienst muss installiert sein.
  • Nutzercluster erstellen
  • Verwenden Sie im Verzeichnis anthos-aws anthos-gke, um den Kontext zu Ihrem Nutzercluster zu wechseln.
    cd anthos-aws
    env HTTPS_PROXY=http://localhost:8118 \
      anthos-gke aws clusters get-credentials CLUSTER_NAME
    Ersetzen Sie CLUSTER_NAME durch den Nutzerclusternamen.

Sie können diese Schritte mit kubectl oder mit der Google Cloud Console ausführen, wenn Sie Mit Connect authentifiziert haben. Wenn Sie die Google Cloud Console verwenden, fahren Sie mit Einführung in NGINX starten fort.

Führen Sie die folgenden Schritte aus, um eine Verbindung zu Ihren Anthos Clusters on AWS-Ressourcen herzustellen. Wählen Sie aus, ob Sie eine bestehende AWS-VPC (oder eine direkte Verbindung zu Ihrer VPC) verwenden oder beim Erstellen Ihres Verwaltungsdienstes eine dedizierte VPC angelegt haben.

Vorhandene VPC

Wenn Sie eine direkte Verbindung oder eine VPN-Verbindung zu einer vorhandenen VPC verwenden, lassen Sie die Zeile env HTTP_PROXY=http://localhost:8118 in den Befehlen in diesem Thema weg.

Dedizierte VPC

Wenn Sie einen Verwaltungsdienst in einer dedizierten VPC erstellen, enthält Anthos-Cluster auf AWS einen Bastion-Host in einem öffentlichen Subnetz.

So stellen Sie eine Verbindung zu Ihrem Verwaltungsdienst her:

  1. Wechseln Sie in das Verzeichnis mit Ihrer Anthos-Cluster auf AWS-Konfiguration. Sie haben dieses Verzeichnis bei der Installation des Verwaltungsdienstes erstellt.

    cd anthos-aws

  2. Führen Sie das Skript bastion-tunnel.sh aus, um den Tunnel zu öffnen. Über den Tunnel erfolgt eine Weiterleitung zu localhost:8118.

    Führen Sie den folgenden Befehl aus, um einen Tunnel zum Bastion Host zu öffnen:

    ./bastion-tunnel.sh -N
    

    In diesem Fenster werden Nachrichten aus dem SSH-Tunnel angezeigt. Wenn Sie bereit sind, die Verbindung zu trennen, beenden Sie den Vorgang mit Strg+C oder schließen Sie das Fenster.

  3. Öffnen Sie ein neues Terminal und wechseln Sie in das Verzeichnis anthos-aws:

    cd anthos-aws
  4. Prüfen Sie, ob Sie mit kubectl eine Verbindung zum Cluster herstellen können.

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl cluster-info
    

    Die Ausgabe enthält die URL für den API-Server des Verwaltungsdiensts.

NGINX-Deployment starten

In diesem Abschnitt erstellen Sie ein Deployment des NGINX-Webservers mit dem Namen nginx-1.

kubectl

  1. Erstellen Sie das Deployment mit kubectl create.

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl create deployment --image nginx nginx-1
    
  2. Rufen Sie den Status des Deplyoments mit kubectl ab. Notieren Sie sich die NAME des Pods.

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl get deployment
    

Console

Führen Sie die folgenden Schritte aus, um eine NGINX-Bereitstellung mit der Google Cloud Console zu starten:

  1. Rufen Sie in der Google Cloud Console das Menü "GKE-Arbeitslasten" auf.

    Zum Menü "Arbeitslasten"

  2. Klicken Sie auf Deploy.

  3. Wählen Sie unter Container bearbeiten die Option Vorhandenes Container-Image aus, um ein in Container Registry verfügbares Container-Image auszuwählen. Geben Sie unter Image-Pfad das Container-Image, das Sie verwenden möchten, sowie dessen Version an. Verwenden Sie für diese Kurzanleitung nginx:latest.

  4. Klicken Sie auf Fertig und dann auf Weiter. Der Bildschirm Konfiguration wird angezeigt.

  5. Sie können den Anwendungsnamen und den Kubernetes-Namespace Ihres Deployments ändern. Für diese Kurzanleitung können Sie den Anwendungsnamen nginx-1 und den Namespace default verwenden.

  6. Wählen Sie im Drop-down-Menü Cluster Ihren Nutzercluster aus. Standardmäßig erhält der erste Nutzercluster den Namen cluster-0.

  7. Klicken Sie auf Deploy. In Anthos-Cluster auf AWS wird das NGINX-Deployment gestartet. Der Bildschirm Bereitstellungsdetails wird angezeigt.

Pods freigeben

In diesem Abschnitt wird beschrieben, wie Sie eine der folgenden Aktionen ausführen:

  • Stellen Sie Ihr Deployment intern im Cluster bereit und prüfen Sie, ob es mit kubectl port-forward verfügbar ist.

  • Stellen Sie Ihr Deployment über die Google Cloud Console für die Adressen bereit, die von der Sicherheitsgruppe Ihres Knotenpools zugelassen sind.

kubectl

  1. Geben Sie den Port 80 des Deployments für den Cluster mit kubectl expose frei.

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl expose deployment nginx-1 --port=80
    

    Das Deployment ist jetzt vom Cluster aus verfügbar.

  2. Leiten Sie Port 80 im Deployment mit kubectl port-forward an Port 8080 auf Ihrem lokalen Computer weiter.

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl port-forward deployment/nginx-1 8080:80
    
  3. Stellen Sie mit curl oder Ihrem Webbrowser eine Verbindung zu http://localhost:8080 her. Die Standard-NGINX-Webseite wird angezeigt.

    curl http://localhost:8080
    

Console

  1. Rufen Sie in der Google Cloud Console das Menü "GKE-Arbeitslasten" auf.

    Zum Menü "Arbeitslasten"

  2. Klicken Sie auf der Seite Bereitstellungsdetails auf Freigeben. Der Bildschirm Bereitstellung freigeben wird angezeigt.

  3. Übernehmen Sie im Abschnitt Portzuordnung den Standardport (80) und klicken Sie auf Fertig.

  4. Wählen Sie als Diensttyp die Option Load-Balancer aus. Weitere Informationen zu anderen Optionen finden Sie in der Kubernetes-Dokumentation unter Publishing Services (ServiceTypes).

  5. Klicken Sie auf Freigeben. Der Bildschirm Dienstdetails wird angezeigt. Anthos-Cluster auf AWS erstellt einen klassischen elatischen Load Balancer für den Dienst.

  6. Klicken Sie auf den Link für Externe Endpunkte. Wenn der Load-Balancer bereit ist, wird die standardmäßige NGINX-Webseite angezeigt.

Bereitstellung in der Google Cloud Console ansehen

Wenn Ihr Cluster mit der Google Cloud Console verbunden ist, können Sie Ihr Deployment auf der GKE-Seite „Arbeitslasten“ aufrufen. Führen Sie die folgenden Schritte aus, um Ihre Arbeitslast aufzurufen:

  1. Rufen Sie in Ihrem Browser die Seite "Arbeitslasten" von Google Kubernetes Engine auf.

    Zur Seite "Google Kubernetes Engine-Arbeitslasten"

    Die Liste der Arbeitslasten wird angezeigt.

  2. Klicken Sie auf den Namen Ihrer Arbeitslast, nginx-1. Der Bildschirm Bereitstellungsdetails wird angezeigt.

  3. Auf diesem Bildschirm können Sie Details zu Ihrem Deployment abrufen, die YAML-Konfiguration ansehen und bearbeiten und andere Kubernetes-Aktionen ausführen.

Weitere Informationen zu den auf dieser Seite verfügbaren Optionen finden Sie in der GKE-Dokumentation unter Zustandslose Anwendung bereitstellen.

Bereinigen

Sie können Ihr NGINX-Deployment mit kubectl delete oder über die Google Cloud Console löschen.

kubectl

env HTTPS_PROXY=http://localhost:8118 \
kubectl delete service nginx-1 &&\
kubectl delete deployment nginx-1

Console

  1. Rufen Sie in der Google Cloud Console das Seitenmenü „Dienste und Ingress“ auf.

    Seite „Dienste und Ingress“ aufrufen

  2. Suchen Sie den NGINX-Dienst und klicken Sie auf seinen Namen. Standardmäßig lautet der Name nginx-1-service. Der Bildschirm Dienstdetails wird angezeigt.

  3. Klicken Sie auf Löschen und bestätigen Sie, dass Sie den Dienst löschen möchten. Anthos-Cluster auf AWS löscht den Load-Balancer.

  4. Zur Seite „Google Kubernetes Engine-Arbeitslasten“

    Zur Seite "Google Kubernetes Engine-Arbeitslasten"

    Die Liste der Arbeitslasten wird angezeigt.

  5. Klicken Sie auf den Namen Ihrer Arbeitslast, nginx-1. Der Bildschirm Bereitstellungsdetails wird angezeigt.

  6. Klicken Sie auf Löschen und bestätigen Sie, dass Sie die Bereitstellung löschen möchten. Anthos-Cluster auf AWS löscht die Bereitstellung.

Nächste Schritte

Erstellen Sie einen internen oder externen Load-Balancer mit einem der folgenden Dienste:

Sie können andere Arten von Kubernetes-Arbeitslasten mit Anthos-Cluster auf AWS verwenden. Weitere Informationen zum Bereitstellen von Arbeitslasten finden Sie in der GKE-Dokumentation.