In diesem Thema erfahren Sie, wie Sie eine Arbeitslast in GKE erstellen und sie Ihrem Cluster intern zur Verfügung stellen.
Hinweis
Bevor Sie GKE on AWS verwenden, müssen die folgenden Bedingungen erfüllt sein:
- Erfüllen Sie die Voraussetzungen.
- Der Verwaltungsdienst muss installiert sein.
- Nutzercluster erstellen
- Verwenden Sie im
anthos-aws
-Verzeichnisanthos-gke
, um den Kontext zu Ihrem Nutzercluster zu wechseln. Ersetzen Sie CLUSTER_NAME durch den Namen Ihres Nutzerclusters.cd anthos-aws env HTTPS_PROXY=http://localhost:8118 \ anthos-gke aws clusters get-credentials CLUSTER_NAME
Sie können diese Schritte mit kubectl
oder mit der Google Cloud Console ausführen, wenn Sie sich mit Connect authentifiziert haben.
Wenn Sie die Google Cloud Console verwenden, fahren Sie mit NGINX-Bereitstellung starten fort.
Führen Sie die folgenden Schritte aus, um eine Verbindung zu GKE 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 GKE on AWS einen Bastion Host in einem öffentlichen Subnetz.
So stellen Sie eine Verbindung zu Ihrem Verwaltungsdienst her:
Wechseln Sie in das Verzeichnis mit Ihrer GKE on AWS-Konfiguration. Sie haben dieses Verzeichnis bei der Installation des Verwaltungsdienstes erstellt.
cd anthos-aws
Führen Sie das Skript
bastion-tunnel.sh
aus, um den Tunnel zu öffnen. Über den Tunnel erfolgt eine Weiterleitung zulocalhost: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.
Öffnen Sie ein neues Terminal und wechseln Sie in das Verzeichnis
anthos-aws
:cd anthos-aws
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-Bereitstellung starten
In diesem Abschnitt erstellen Sie ein Deployment des NGINX-Webservers mit dem Namen nginx-1
.
kubectl
Erstellen Sie das Deployment mit
kubectl create
.env HTTPS_PROXY=http://localhost:8118 \ kubectl create deployment --image nginx nginx-1
Rufen Sie den Status des Deplyoments mit
kubectl
ab. Notieren Sie sich dieNAME
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:
Rufen Sie in derGoogle Cloud Console das Menü „GKE-Arbeitslasten“ auf.
Klicken Sie auf Deploy.
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
.Klicken Sie auf Fertig und dann auf Weiter. Der Bildschirm Konfiguration wird angezeigt.
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 Namespacedefault
verwenden.Wählen Sie im Drop-down-Menü Cluster Ihren Nutzercluster aus. Standardmäßig erhält der erste Nutzercluster den Namen
cluster-0
.Klicken Sie auf Bereitstellen. GKE on AWS startet das NGINX-Deployment. 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 von der Google Cloud Konsole aus für die Adressen zur Verfügung, die von Ihrer Knotenpool-Sicherheitsgruppe erlaubt sind.
kubectl
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.
Leiten Sie Port
80
im Deployment mitkubectl port-forward
an Port8080
auf Ihrem lokalen Computer weiter.env HTTPS_PROXY=http://localhost:8118 \ kubectl port-forward deployment/nginx-1 8080:80
Stellen Sie mit
curl
oder Ihrem Webbrowser eine Verbindung zuhttp://localhost:8080
her. Die Standard-NGINX-Webseite wird angezeigt.curl http://localhost:8080
Console
Rufen Sie in der Google Cloud Console das Menü „GKE-Arbeitslasten“ auf.
Klicken Sie auf der Seite Bereitstellungsdetails auf Freigeben. Der Bildschirm Bereitstellung freigeben wird angezeigt.
Übernehmen Sie im Abschnitt Portzuordnung den Standardport (
80
) und klicken Sie auf Fertig.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).
Klicken Sie auf Freigeben. Der Bildschirm Dienstdetails wird angezeigt. GKE on AWS erstellt einen klassischen elastischen Load Balancer für den Dienst.
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 das Deployment auf der Seite „GKE-Arbeitslasten“ aufrufen. Führen Sie die folgenden Schritte aus, um Ihre Arbeitslast aufzurufen:
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.
Klicken Sie auf den Namen Ihrer Arbeitslast,
nginx-1
. Der Bildschirm Bereitstellungsdetails wird angezeigt.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
Zum Löschen Ihrer NGINX-Bereitstellung verwenden Sie kubectl delete
oder die Google Cloud Console.
kubectl
env HTTPS_PROXY=http://localhost:8118 \
kubectl delete service nginx-1 &&\
kubectl delete deployment nginx-1
Console
Rufen Sie in der Console das Seitenmenü „Dienste und Ingress“ auf. Google Cloud
Suchen Sie den NGINX-Dienst und klicken Sie auf seinen Namen. Standardmäßig lautet der Name
nginx-1-service
. Der Bildschirm Dienstdetails wird angezeigt.Klicken Sie auf
Löschen und bestätigen Sie, dass Sie den Dienst löschen möchten. GKE on AWS löscht den Load Balancer.Zur Seite „Google Kubernetes Engine-Arbeitslasten“
Zur Seite "Google Kubernetes Engine-Arbeitslasten"
Die Liste der Arbeitslasten wird angezeigt.
Klicken Sie auf den Namen Ihrer Arbeitslast,
nginx-1
. Der Bildschirm Bereitstellungsdetails wird angezeigt.Klicken Sie auf
Löschen und bestätigen Sie, dass Sie die Bereitstellung löschen möchten. GKE on AWS löscht die Bereitstellung.
Nächste Schritte
Erstellen Sie einen internen oder externen Load-Balancer mit einem der folgenden Dienste:
Mit GKE on AWS können Sie andere Arten von Kubernetes-Arbeitslasten verwenden. Weitere Informationen zum Bereitstellen von Arbeitslasten finden Sie in der GKE-Dokumentation.