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 -Konsole 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.shaus, 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 -NIn 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
kubectleine Verbindung zum Cluster herstellen können.env HTTPS_PROXY=http://localhost:8118 \ kubectl cluster-infoDie 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-1Rufen Sie den Status des Deplyoments mit
kubectlab. Notieren Sie sich dieNAMEdes 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-1und den Namespacedefaultverwenden.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-forwardverfügbar ist.Stellen Sie Ihr Deployment über die Google Cloud -Konsole 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 exposefrei.env HTTPS_PROXY=http://localhost:8118 \ kubectl expose deployment nginx-1 --port=80Das Deployment ist jetzt vom Cluster aus verfügbar.
Leiten Sie Port
80im Deployment mitkubectl port-forwardan Port8080auf Ihrem lokalen Computer weiter.env HTTPS_PROXY=http://localhost:8118 \ kubectl port-forward deployment/nginx-1 8080:80Stellen Sie mit
curloder Ihrem Webbrowser eine Verbindung zuhttp://localhost:8080her. 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 Classic Elastic 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 aufrufen
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 Google Cloud Console das Seitenmenü „Dienste und Ingress“ auf.
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 das Deployment.
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.