arrow_back

Erste Schritte mit Cloud Run

Anmelden Teilnehmen
Testen und teilen Sie Ihr Wissen mit unserer Community.

Erste Schritte mit Cloud Run

Lab 1 Stunde universal_currency_alt 5 Guthabenpunkte show_chart Einsteiger
info Dieses Lab kann KI-Tools enthalten, die den Lernprozess unterstützen.
Testen und teilen Sie Ihr Wissen mit unserer Community.

Übersicht

Cloud Run ist eine verwaltete Computing-Plattform, mit der Sie zustandslose Container ausführen können, die über HTTP-Anfragen abrufbar sind. Cloud Run arbeitet serverlos und benötigt keine Infrastrukturverwaltung. So können Sie sich ganz auf das Programmieren von Anwendungen konzentrieren.

Cloud Run basiert auf Knative. Damit können Sie Container wahlweise vollständig verwaltet mit Cloud Run oder in Ihrem Google Kubernetes Engine-Cluster mit Cloud Run in GKE ausführen.

Das Ziel dieses Labs ist es, ein Image einer einfachen Containeranwendung zu erstellen und in Cloud Run bereitzustellen.

Ziele

Aufgaben in diesem Lab:

  • Cloud Run API aktivieren
  • Einfache Node.js-Anwendung erstellen, die als serverloser, zustandsloser Container bereitgestellt werden kann
  • Anwendung containerisieren und in Artifact Registry hochladen
  • Containeranwendung in Cloud Run bereitstellen
  • Nicht benötigte Images löschen, um zusätzliche Speichergebühren zu vermeiden

Einrichtung und Anforderungen

Für jedes Lab werden Ihnen ein neues Google Cloud-Projekt und die entsprechenden Ressourcen für eine bestimmte Zeit kostenlos zur Verfügung gestellt.

  1. Klicken Sie auf Lab starten. Wenn Sie für das Lab bezahlen müssen, wird ein Pop-up-Fenster geöffnet, in dem Sie Ihre Zahlungsmethode auswählen können. Auf der linken Seite befindet sich der Bereich Details zum Lab mit diesen Informationen:

    • Schaltfläche Google Cloud Console öffnen
    • Restzeit
    • Temporäre Anmeldedaten für das Lab
    • Ggf. weitere Informationen für dieses Lab
  2. Klicken Sie auf Google Cloud Console öffnen (oder klicken Sie mit der rechten Maustaste und wählen Sie Link in Inkognitofenster öffnen aus, wenn Sie Chrome verwenden).

    Im Lab werden Ressourcen aktiviert. Anschließend wird ein weiterer Tab mit der Seite Anmelden geöffnet.

    Tipp: Ordnen Sie die Tabs nebeneinander in separaten Fenstern an.

    Hinweis: Wird das Dialogfeld Konto auswählen angezeigt, klicken Sie auf Anderes Konto verwenden.
  3. Kopieren Sie bei Bedarf den folgenden Nutzernamen und fügen Sie ihn in das Dialogfeld Anmelden ein.

    {{{user_0.username | "Username"}}}

    Sie finden den Nutzernamen auch im Bereich Details zum Lab.

  4. Klicken Sie auf Weiter.

  5. Kopieren Sie das folgende Passwort und fügen Sie es in das Dialogfeld Willkommen ein.

    {{{user_0.password | "Password"}}}

    Sie finden das Passwort auch im Bereich Details zum Lab.

  6. Klicken Sie auf Weiter.

    Wichtig: Sie müssen die für das Lab bereitgestellten Anmeldedaten verwenden. Nutzen Sie nicht die Anmeldedaten Ihres Google Cloud-Kontos. Hinweis: Wenn Sie Ihr eigenes Google Cloud-Konto für dieses Lab nutzen, können zusätzliche Kosten anfallen.
  7. Klicken Sie sich durch die nachfolgenden Seiten:

    • Akzeptieren Sie die Nutzungsbedingungen.
    • Fügen Sie keine Wiederherstellungsoptionen oder Zwei-Faktor-Authentifizierung hinzu (da dies nur ein temporäres Konto ist).
    • Melden Sie sich nicht für kostenlose Testversionen an.

Nach wenigen Augenblicken wird die Google Cloud Console in diesem Tab geöffnet.

Hinweis: Wenn Sie eine Liste der Google Cloud-Produkte und ‑Dienste aufrufen möchten, klicken Sie oben links auf das Navigationsmenü oder geben Sie den Namen des Produkts oder Dienstes in das Feld Suchen ein.

Google Cloud Shell aktivieren

Google Cloud Shell ist eine virtuelle Maschine, auf der Entwicklertools installiert sind. Sie bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und läuft in Google Cloud.

Mit Google Cloud Shell erhalten Sie Befehlszeilenzugriff auf Ihre Google Cloud-Ressourcen.

  1. Klicken Sie in der Cloud Console in der rechten oberen Symbolleiste auf „Cloud Shell öffnen“.

  2. Klicken Sie auf Weiter.

Die Bereitstellung und Verbindung mit der Umgebung dauert einen kleinen Moment. Wenn Sie verbunden sind, sind Sie auch bereits authentifiziert und das Projekt ist auf Ihre PROJECT_ID eingestellt. Beispiel:

gcloud ist das Befehlszeilentool für Google Cloud. Das Tool ist in Cloud Shell vorinstalliert und unterstützt die Tab-Vervollständigung.

  • Sie können den aktiven Kontonamen mit diesem Befehl auflisten:
gcloud auth list

Ausgabe:

Konten mit Anmeldedaten: - @.com (aktiv)

Beispielausgabe:

Konten mit Anmeldedaten: - google1623327_student@qwiklabs.net
  • Sie können die Projekt-ID mit diesem Befehl auflisten:
gcloud config list project

Ausgabe:

[core] Projekt =

Beispielausgabe:

[core] Projekt = qwiklabs-gcp-44776a13dea667a6 Hinweis: Die vollständige Dokumentation zu gcloud finden Sie in der Übersicht zur gcloud CLI.

Referenz

Grundlegende Linux-Befehle

Unten finden Sie eine Referenzliste mit einigen grundlegenden Linux-Befehlen, die in der Anleitung oder den Codeblöcken für dieses Lab enthalten sein können.

Befehl --> Aktion . Befehl --> Aktion
mkdir (make directory) Neuen Ordner erstellen . cd (change directory) Verzeichnis wechseln
ls (list) Dateien und Ordner im Verzeichnis auflisten . cat (concatenate) Inhalt einer Datei ohne Editor lesen
apt-get update Paketmanager-Bibliothek aktualisieren . ping Signal, um die Erreichbarkeit eines Hosts zu testen
mv (move) Verschiebt eine Datei . cp (copy) Erstellt eine Dateikopie
pwd (present working directory) Gibt Ihren aktuellen Speicherort zurück . sudo (super user do) Gewährt mehr Verwaltungsberechtigungen

Aufgabe 1: Cloud Run API aktivieren und Shell-Umgebung konfigurieren

  1. Aktivieren Sie in Cloud Shell die Cloud Run API:
gcloud services enable run.googleapis.com
  1. Wenn Sie aufgefordert werden, die Verwendung Ihrer Anmeldedaten zu autorisieren, tun Sie dies. Dann sollte Ihnen eine Meldung ähnlich der folgenden angezeigt werden:
Operation "operations/acf.cc11852d-40af-47ad-9d59-477a12847c9e" finished successfully. Hinweis: Sie können die API auch in der Console im Abschnitt APIs und Dienste aktivieren.
  1. Legen Sie die Compute-Region fest:
gcloud config set compute/region {{{project_0.default_region | "REGION"}}}
  1. Erstellen Sie eine LOCATION-Umgebungsvariable:
LOCATION="{{{project_0.default_region | Region}}}"

Aufgabe 2: Beispielanwendung schreiben

In dieser Aufgabe erstellen Sie eine einfache, auf Express basierende Node.js-Anwendung, die auf HTTP-Anfragen reagiert.

  1. Legen Sie in Cloud Shell ein neues Verzeichnis namens helloworld an und wechseln Sie dann dorthin:
mkdir helloworld && cd helloworld
  1. Als Nächstes erstellen und bearbeiten Sie Dateien. Verwenden Sie dazu nano oder den Cloud Shell-Code-Editor. Dazu klicken Sie in Cloud Shell auf die Schaltfläche Editor öffnen.

  2. Erstellen Sie die Datei package.json und fügen Sie ihr Folgendes hinzu:

nano package.json { "name": "helloworld", "description": "Simple hello world sample in Node", "version": "1.0.0", "main": "index.js", "scripts": { "start": "node index.js" }, "author": "Google LLC", "license": "Apache-2.0", "dependencies": { "express": "^4.17.1" } }

Beachten Sie, dass die obige Datei einen Befehl zum Starten des Skripts und eine Abhängigkeit vom Express-Framework für Webanwendungen enthält.

  1. Drücken Sie nacheinander STRG + X, Y und Eingabe, um die Datei package.json zu speichern.

  2. Erstellen Sie als Nächstes im selben Verzeichnis die Datei index.js und kopieren Sie den folgenden Code hinein:

nano index.js const express = require('express'); const app = express(); const port = process.env.PORT || 8080; app.get('/', (req, res) => { const name = process.env.NAME || 'World'; res.send(`Hello ${name}!`); }); app.listen(port, () => { console.log(`helloworld: listening on port ${port}`); });

Mit diesem Code wird ein einfacher Webserver erstellt, der den von der Umgebungsvariablen PORT definierten Port überwacht. Die Anwendung ist jetzt fertig und kann containerisiert und dann in Artifact Registry hochgeladen werden.

  1. Drücken Sie nacheinander STRG + X, Y und Eingabe, um die Datei index.js zu speichern.
Hinweis: Für den Einstieg in Cloud Run können Sie auch diverse andere Sprachen verwenden. Anleitungen unter anderem für Go, Python, Java, PHP, Ruby und Shell-Scripts finden Sie unter Kurzanleitungen.

Aufgabe 3: Anwendung containerisieren und in Artifact Registry hochladen

  1. Erstellen Sie zum Containerisieren der Beispielanwendung in dem Verzeichnis, in dem sich die Quelldateien befinden, eine neue Datei mit dem Namen Dockerfile und kopieren Sie den folgenden Inhalt hinein:
nano Dockerfile # Use the official lightweight Node.js 12 image. # https://hub.docker.com/_/node FROM node:12-slim # Create and change to the app directory. WORKDIR /usr/src/app # Copy application dependency manifests to the container image. # A wildcard is used to ensure copying both package.json AND package-lock.json (when available). # Copying this first prevents re-running npm install on every code change. COPY package*.json ./ # Install production dependencies. # If you add a package-lock.json, speed your build by switching to 'npm ci'. # RUN npm ci --only=production RUN npm install --only=production # Copy local code to the container image. COPY . ./ # Run the web service on container startup. CMD [ "npm", "start" ]
  1. Drücken Sie nacheinander STRG + X, Y und Eingabe, um die Dockerfile-Datei zu speichern.

  2. Erstellen Sie jetzt das Container-Image mit Cloud Build. Dazu führen Sie den folgenden Befehl in dem Verzeichnis aus, in dem sich die Dockerfile-Datei befindet. Der Befehl enthält die Umgebungsvariable „$GOOGLE_CLOUD_PROJECT“ mit der Projekt-ID Ihres Labs:

gcloud builds submit --tag gcr.io/$GOOGLE_CLOUD_PROJECT/helloworld

Cloud Build ist ein Dienst zum Ausführen von Builds in Google Cloud. Er führt eine Reihe von Build-Schritten aus, und zwar jeden in einem Docker-Container, um einen Anwendungscontainer oder andere Artefakte zu erstellen und sie alle mit einem Befehl in Artifact Registry zu übertragen.

Bei erfolgreicher Übertragung in Cloud Registry wird eine SUCCESS-Meldung ausgegeben, die den Image-Namen enthält (gcr.io/[PROJECT-ID]/helloworld). Das Image wird in Artifact Registry gespeichert und kann bei Bedarf wiederverwendet werden.

  1. Lassen Sie sich mit folgendem Befehl alle Container-Images Ihres aktuellen Projekts anzeigen:
gcloud container images list
  1. Registrieren Sie gcloud als Credential Helper für alle von Google unterstützten Docker-Registries:
gcloud auth configure-docker Hinweis: Möglicherweise wird Ihnen die Frage Möchten Sie fortfahren (J/N)? angezeigt. Wenn Sie fortfahren möchten, geben Sie J ein.
  1. Mit dem folgenden docker-Standardbefehl können Sie die Anwendung lokal in Cloud Shell ausführen und testen:
docker run -d -p 8080:8080 gcr.io/$GOOGLE_CLOUD_PROJECT/helloworld
  1. Klicken Sie im Cloud Shell-Fenster auf Webvorschau und wählen Sie Vorschau auf Port 8080 aus.

Es sollte sich jetzt ein Browserfenster öffnen, in dem die Nachricht „Hello World!“ angezeigt wird. Sie können auch einfach curl localhost:8080 verwenden.

Aufgabe 4: In Cloud Run bereitstellen

  1. Sie können Ihre containerisierte Anwendung mit folgendem Befehl in Cloud Run bereitstellen, wobei Sie ihre Projekt-ID hinzufügen:
gcloud run deploy --image gcr.io/$GOOGLE_CLOUD_PROJECT/helloworld --allow-unauthenticated --region=$LOCATION

Durch das Flag „allow-unauthenticated“ im obigen Befehl wird der Dienst öffentlich zugänglich.

  1. Bestätigen Sie den service name, wenn Sie dazu aufgefordert werden, indem Sie die Eingabetaste drücken.
Hinweis: Möglicherweise wird Ihnen die Frage Möchten Sie diese APIs aktivieren, um fortzufahren (dies dauert einige Minuten) (J/N)? angezeigt. Wenn Sie fortfahren möchten, geben Sie J ein, um die benötigte API zu aktivieren.

Warten Sie dann einige Sekunden, bis die Bereitstellung abgeschlossen ist.

Wenn die Bereitstellung erfolgreich war, wird in der Befehlszeile die Dienst-URL angezeigt:

Service [helloworld] revision [helloworld-00001-xit] has been deployed and is serving 100 percent of traffic. Service URL: https://helloworld-h6cp412q3a-uc.a.run.app

Sie können jetzt den bereitgestellten Container aufrufen, indem Sie die Dienst-URL in einem beliebigen Browserfenster öffnen.

Glückwunsch! Sie haben eine in einem Container-Image verpackte Anwendung in Cloud Run bereitgestellt. Cloud Run skaliert das Container-Image automatisch horizontal, damit die empfangenen Anfragen bearbeitet werden können, und skaliert es wieder herunter, wenn der Bedarf sinkt. Sie zahlen in Ihrer Umgebung nur für die CPU-, Arbeitsspeicher- und Netzwerkressourcen, die während der Anfrageverarbeitung verbraucht werden.

In diesem Lab haben Sie die gcloud-Befehlszeile verwendet. Cloud Run ist auch über die Cloud Console verfügbar.

  • Klicken Sie im Navigationsmenü im Abschnitt „Serverlos“ auf Cloud Run. Ihnen sollte jetzt der Dienst helloworld angezeigt werden:

Aufgabe 5: Bereinigen

Während für Cloud Run keine Kosten anfallen, wenn der Dienst nicht verwendet wird, wird Ihnen dennoch das Speichern des erstellten Container-Images möglicherweise in Rechnung gestellt.

  1. Sie können entweder Ihr Google Cloud-Projekt löschen, um Gebühren zu vermeiden, und so die Abrechnung für alle in diesem Projekt verwendeten Ressourcen beenden oder einfach mit dem folgenden Befehl das helloworld-Image löschen.
gcloud container images delete gcr.io/$GOOGLE_CLOUD_PROJECT/helloworld
  1. Wenn Sie gefragt werden, ob Sie fortfahren möchten, geben Sie J ein und drücken Sie die Eingabetaste.

  2. Führen Sie den folgenden Befehl aus, um den Cloud Run-Dienst zu löschen:

gcloud run services delete helloworld --region={{{project_0.default_region | "REGION"}}}
  1. Wenn Sie gefragt werden, ob Sie fortfahren möchten, geben Sie J ein und drücken Sie die Eingabetaste.

Lab beenden

Wenn Sie das Lab abgeschlossen haben, klicken Sie auf Lab beenden. Google Cloud Skills Boost entfernt daraufhin die von Ihnen genutzten Ressourcen und bereinigt das Konto.

Anschließend erhalten Sie die Möglichkeit, das Lab zu bewerten. Wählen Sie die entsprechende Anzahl von Sternen aus, schreiben Sie einen Kommentar und klicken Sie anschließend auf Senden.

Die Anzahl der Sterne hat folgende Bedeutung:

  • 1 Stern = Sehr unzufrieden
  • 2 Sterne = Unzufrieden
  • 3 Sterne = Neutral
  • 4 Sterne = Zufrieden
  • 5 Sterne = Sehr zufrieden

Wenn Sie kein Feedback geben möchten, können Sie das Dialogfeld einfach schließen.

Verwenden Sie für Feedback, Vorschläge oder Korrekturen den Tab Support.

Glückwunsch!

Sie haben das Lab abgeschlossen.

Weitere Informationen

Weitere Informationen dazu, wie Sie einen zustandslosen, für Cloud Run geeigneten HTTP-Container aus einer Codequelle erstellen und in Artifact Registry hochladen, finden Sie unter:

© 2021 Google LLC. Alle Rechte vorbehalten. Google und das Google-Logo sind Marken von Google LLC. Alle anderen Unternehmens- und Produktnamen können Marken der jeweils mit ihnen verbundenen Unternehmen sein.

Before you begin

  1. Labs create a Google Cloud project and resources for a fixed time
  2. Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
  3. On the top left of your screen, click Start lab to begin

Diese Inhalte sind derzeit nicht verfügbar

Bei Verfügbarkeit des Labs benachrichtigen wir Sie per E-Mail

Sehr gut!

Bei Verfügbarkeit kontaktieren wir Sie per E-Mail

One lab at a time

Confirm to end all existing labs and start this one

Use private browsing to run the lab

Use an Incognito or private browser window to run this lab. This prevents any conflicts between your personal account and the Student account, which may cause extra charges incurred to your personal account.