Kubernetes Engine-App als Vorschau ansehen und bereitstellen

Auf dieser Seite erfahren Sie, wie Sie eine Kubernetes Engine-App mithilfe von Cloud Shell schnell bereitstellen.

Gehen Sie folgendermaßen vor, um die Kubernetes Engine API zu aktivieren:
  1. Rufen Sie in der Google Cloud Console die Seite Kubernetes Engine auf.
  2. Erstellen Sie ein Projekt oder wählen Sie eines aus.
  3. Warten Sie, bis die API und die zugehörigen Dienste aktiviert worden sind. Dieser Vorgang kann einige Minuten dauern.
  4. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

Kubernetes-Anwendungen bereitstellen

In der Cloud Shell sind die Befehlszeilentools gcloud und kubectl vorinstalliert. Sie können gcloud und kubectl ohne zusätzliches Einrichtung verwenden!

  1. Klicken Sie im oberen Bereich des Console-Fensters auf die Schaltfläche Cloud Shell aktivieren Schaltfläche Shell aktivieren:

    Dadurch wird die Cloud Shell-Sitzung in einem Frame am unteren Rand der Console gestartet.

  2. Legen Sie Ihre Standardeinstellungen fest:

    Führen Sie Folgendes aus, um Ihre Standard-Computing-Zone mit einer gewünschten geografischen Computing-Zone festzulegen:

     gcloud config set compute/zone [COMPUTE_ZONE]
    

    Wenn Sie Ihr Projekt in der Console festgelegt haben, wird es automatisch in der Cloud Shell festgelegt. Wenn Sie dies nicht getan haben, legen Sie Ihre Projekt-ID fest, indem Sie Folgendes ausführen:

    gcloud config set project [CLOUD_SHELL_PROJECT_ID]
    
  3. Klonen Sie die Beispielanwendung:

    Führen Sie Folgendes aus, um die Beispielanwendung zu klonen und in ihr Verzeichnis zu wechseln:

     git clone https://github.com/GoogleCloudPlatform/kubernetes-engine-samples
     cd kubernetes-engine-samples/hello-app
    

    hello-app ist eine Beispiel-Go-Webserveranwendung und wird mit einer Docker-Datei geliefert, die zum Erstellen des Docker-Images der Anwendung erforderlich ist.

  4. Erstellen Sie das Container-Image:

    Führen Sie Folgendes aus, um das Container-Image von hello-app zu erstellen und es zum Hochladen mit dem Namen gcr.io/${CLOUD_SHELL_PROJECT_ID}/hello-app:v1 zu taggen:

     docker build -t gcr.io/${CLOUD_SHELL_PROJECT_ID}/hello-app:v1 .
    
  5. Vorschau Ihrer Anwendung:

    Führen Sie Folgendes aus, um eine Vorschau Ihrer Anwendung in Ihrem Browser anzuzeigen:

     docker run --rm -p 8080:8080 gcr.io/${CLOUD_SHELL_PROJECT_ID}/hello-app:v1
    

    Klicken Sie in der Cloud Shell auf die Schaltfläche Webvorschau Schaltfläche für Webvorschau und wählen Sie "Vorschau auf Port 8080" aus.

    In Cloud Shell wird die Vorschau-URL für den Proxydienst in einem neuen Browserfenster geöffnet.

  6. Bearbeiten Sie Ihre Anwendung:

    Nehmen Sie eine kleine Änderung an main.go vor, z. B. für "Hallo Welt!" "Teekanne!".

    Geben Sie in Ihrer Cloud Shell-Sitzung Strg + C ein, um den Entwicklungsserver zu stoppen.

    Erstellen Sie Ihr Image und laden Sie es noch einmal hoch. Wenn Sie nun eine Vorschau Ihrer Anwendung anzeigen, indem Sie sie in der Docker-Engine ausführen und auf Webvorschau klicken, werden Ihre Änderungen in Ihrem Browser angezeigt.

  7. Laden Sie das Bild in die Container Registry hoch:

    Führen Sie Folgendes aus, um das Image mithilfe des Docker-Befehlszeilentools (das mit Cloud Shell installiert, authentifiziert und konfiguriert wird) in die Container Registry hochzuladen:

     docker push gcr.io/${CLOUD_SHELL_PROJECT_ID}/hello-app:v1
    
  8. Erstellen Sie einen Cluster mit einem eindeutigen Namen:

    Führen Sie Folgendes aus, um einen Cluster mit dem Namen hello-cluster zu erstellen:

     gcloud container clusters create hello-cluster
    

    Dieser Schritt kann mehrere Minuten dauern.

  9. Stellen Sie Ihre Anwendung bereit:

    Führen Sie Folgendes aus, um eine neue Bereitstellung mit dem Namen hello-server zu erstellen:

     kubectl run hello-server --image gcr.io/google-samples/hello-app:1.0 --port 8080
    

    Der Pod des Deployments führt das Image hello-app in seinem Container aus.

  10. Erstellen Sie einen Dienst:

    Um Ihre Anwendung externem Datenverkehr auszusetzen, damit Nutzer sie verwenden können, müssen Sie einen Dienst erstellen.

     kubectl expose deployment hello-server --type LoadBalancer \
     --port 80 --target-port 8080
    
  11. Prüfen Sie den erstellten Dienst:

    Führen Sie Folgendes aus, um die externe IP-Adresse Ihres Dienstes auszuführen:

     kubectl get service hello-server
    

    Kopieren Sie aus der Befehlsausgabe die externe IP-Adresse des Dienstes aus der Spalte EXTERNAL-IP.

  12. Ihre containerisierte Webanwendung sollte live sein!

    Zeigen Sie die Anwendung in Ihrem Webbrowser mit der externen IP-Adresse aus dem vorherigen Schritt an.

     http://[EXTERNAL_IP]/
    
  13. Denken Sie daran, danach zu bereinigen, um unnötige Kosten zu vermeiden:

    Führen Sie Folgendes aus, um den Dienst der Anwendung (und den von Ihnen erstellten Compute Engine-Load-Balancer) zu löschen:

     kubectl delete service hello-server
    

    Führen Sie als Nächstes Folgendes aus, um Ihren Cluster zu löschen:

     gcloud container clusters delete hello-cluster