Wird geladen…
Keine Ergebnisse gefunden.

Ihre Kompetenzen in der Google Cloud Console anwenden

Zugriff auf über 700 Labs und Kurse nutzen

Continuous Delivery mit Google Cloud Deploy

Lab 1 Stunde 30 Minuten universal_currency_alt 5 Guthabenpunkte show_chart Mittelstufe
info Dieses Lab kann KI-Tools enthalten, die den Lernprozess unterstützen.
Zugriff auf über 700 Labs und Kurse nutzen

GSP1079

Logo: Google Cloud-Labs zum selbstbestimmten Lernen

Übersicht

Google Cloud Deploy ist ein verwalteter Dienst, mit dem die Bereitstellung von Anwendungen in einer Reihe von Zielumgebungen in einer definierten Hochstufungssequenz automatisiert wird. Wenn Sie die aktualisierte Anwendung bereitstellen möchten, erstellen Sie ein Release, dessen Lebenszyklus von einer Lieferpipeline verwaltet wird.

In diesem Lab erstellen Sie mit Google Cloud Deploy eine Bereitstellungspipeline. Anschließend erstellen Sie ein Release für eine einfache Anwendung und stufen die Anwendung über eine Reihe von Google Kubernetes Engine (GKE)-Zielen hoch.

Die Beispielanwendung ist eine einfache Webanwendung, die einen Port überwacht, einen HTTP-Antwortcode bereitstellt und einen Logeintrag hinzufügt. Dieses Lab basiert auf einer von Google veröffentlichten Anleitung: https://cloud.google.com/deploy/docs/tutorials

Lernziele

Aufgaben in diesem Lab:

  • Mit Skaffold ein Container-Image in Google Cloud Artifact Registry bereitstellen
  • Google Cloud Deploy-Bereitstellungspipeline erstellen
  • Release für die Bereitstellungspipeline erstellen
  • Anwendung über die Ziele in der Bereitstellungspipeline hochstufen

Einrichtung

Vor dem Klick auf „Start Lab“ (Lab starten)

Lesen Sie diese Anleitung. Labs sind zeitlich begrenzt und können nicht pausiert werden. Der Timer beginnt zu laufen, wenn Sie auf Lab starten klicken, und zeigt Ihnen, wie lange Google Cloud-Ressourcen für das Lab verfügbar sind.

In diesem praxisorientierten Lab können Sie die Lab-Aktivitäten in einer echten Cloud-Umgebung durchführen – nicht in einer Simulations- oder Demo-Umgebung. Dazu erhalten Sie neue, temporäre Anmeldedaten, mit denen Sie für die Dauer des Labs auf Google Cloud zugreifen können.

Für dieses Lab benötigen Sie Folgendes:

  • Einen Standardbrowser (empfohlen wird Chrome)
Hinweis: Nutzen Sie den privaten oder Inkognitomodus (empfohlen), um dieses Lab durchzuführen. So wird verhindert, dass es zu Konflikten zwischen Ihrem persönlichen Konto und dem Teilnehmerkonto kommt und zusätzliche Gebühren für Ihr persönliches Konto erhoben werden.
  • Zeit für die Durchführung des Labs – denken Sie daran, dass Sie ein begonnenes Lab nicht unterbrechen können.
Hinweis: Verwenden Sie für dieses Lab nur das Teilnehmerkonto. Wenn Sie ein anderes Google Cloud-Konto verwenden, fallen dafür möglicherweise Kosten an.

Lab starten und bei der Google Cloud Console anmelden

  1. Klicken Sie auf Lab starten. Wenn Sie für das Lab bezahlen müssen, wird ein Dialogfeld 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 auf Google Cloud-Produkte und ‑Dienste zugreifen möchten, klicken Sie auf das Navigationsmenü oder geben Sie den Namen des Produkts oder Dienstes in das Feld Suchen ein. Symbol für das Navigationsmenü und Suchfeld

Cloud Shell aktivieren

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

  1. Klicken Sie oben in der Google Cloud Console auf Cloud Shell aktivieren Symbol für Cloud Shell-Aktivierung.

  2. Klicken Sie sich durch die folgenden Fenster:

    • Fahren Sie mit dem Informationsfenster zu Cloud Shell fort.
    • Autorisieren Sie Cloud Shell, Ihre Anmeldedaten für Google Cloud API-Aufrufe zu verwenden.

Wenn eine Verbindung besteht, sind Sie bereits authentifiziert und das Projekt ist auf Project_ID, eingestellt. Die Ausgabe enthält eine Zeile, in der die Project_ID für diese Sitzung angegeben ist:

Ihr Cloud-Projekt in dieser Sitzung ist festgelegt als {{{project_0.project_id | "PROJECT_ID"}}}

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

  1. (Optional) Sie können den aktiven Kontonamen mit diesem Befehl auflisten:
gcloud auth list
  1. Klicken Sie auf Autorisieren.

Ausgabe:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} Um das aktive Konto festzulegen, führen Sie diesen Befehl aus: $ gcloud config set account `ACCOUNT`
  1. (Optional) Sie können die Projekt-ID mit diesem Befehl auflisten:
gcloud config list project

Ausgabe:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} Hinweis: Die vollständige Dokumentation für gcloud finden Sie in Google Cloud in der Übersicht zur gcloud CLI.

Aufgabe 1: Variablen festlegen

  • Deklarieren Sie die Umgebungsvariablen, die von verschiedenen Befehlen verwendet werden:
export PROJECT_ID=$(gcloud config get-value project) export REGION={{{ project_0.default_region | "Region" }}} gcloud config set compute/region $REGION

Aufgabe 2: Drei GKE-Cluster erstellen

In dieser Aufgabe erstellen Sie die drei GKE-Cluster, die als Ziele für die Bereitstellungspipeline dienen.

Es werden drei GKE-Cluster erstellt, die die drei Ziele für die Bereitstellungspipeline darstellen:

  • test
  • staging
  • prod
  1. Aktivieren Sie die Google Kubernetes Engine API:
gcloud services enable \ container.googleapis.com \ clouddeploy.googleapis.com
  1. Erstellen Sie die drei GKE-Cluster:
gcloud container clusters create test --node-locations={{{project_0.default_zone|"zone"}}} --num-nodes=1 --async gcloud container clusters create staging --node-locations={{{project_0.default_zone|"zone"}}} --num-nodes=1 --async gcloud container clusters create prod --node-locations={{{project_0.default_zone|"zone"}}} --num-nodes=1 --async
  1. Prüfen Sie den Status der drei Cluster:
gcloud container clusters list --format="csv(name,status)"

Ausgabe

name,status prod,PROVISIONING staging,PROVISIONING test,RUNNING

Das Erstellen der Cluster kann einige Minuten dauern. Sie müssen nicht warten, bis die Cluster bereit sind. Fahren Sie mit dem Lab fort.

Klicken Sie auf Fortschritt prüfen. Drei GKE-Cluster erstellen

Aufgabe 3: Container-Image für die Webanwendung vorbereiten

In dieser Aufgabe erstellen Sie ein Repository in Artifact Registry, in dem die Container-Images der Webanwendung gespeichert werden.

  1. Aktivieren Sie die Artifact Registry API:
gcloud services enable artifactregistry.googleapis.com
  1. Erstellen Sie das Webanwendungs-Repository zum Speichern von Container-Images:
gcloud artifacts repositories create web-app \ --description="Image registry for tutorial web app" \ --repository-format=docker \ --location=$REGION

Klicken Sie auf Fortschritt prüfen. Repository für die Webanwendung erstellen

Aufgabe 4: Container-Images erstellen und in der Artifact Registry bereitstellen

In dieser Aufgabe klonen Sie das Git-Repository, das die Webanwendung enthält, und stellen die Container-Images der Anwendung in Artifact Registry bereit.

Anwendungskonfiguration vorbereiten

  1. Klonen Sie das Repository für das Lab in Ihr Basisverzeichnis:
cd ~/ git clone https://github.com/GoogleCloudPlatform/cloud-deploy-tutorials.git cd cloud-deploy-tutorials git checkout c3cae80 --quiet cd tutorials/base
  1. Erstellen Sie die Konfiguration skaffold.yaml:
envsubst < clouddeploy-config/skaffold.yaml.template > web/skaffold.yaml cat web/skaffold.yaml

Das Verzeichnis „web“ enthält jetzt die Konfigurationsdatei skaffold.yaml, die Anweisungen für Skaffold zum Erstellen eines Container-Images für Ihre Anwendung enthält. Diese Konfiguration beschreibt die folgenden Elemente.

Im Abschnitt „build“ wird Folgendes konfiguriert:

  • Die beiden Container-Images, die erstellt werden (Artefakte)
  • Das Google Cloud Build-Projekt, das zum Erstellen der Images verwendet wird

Im Abschnitt deploy werden die Kubernetes-Manifeste konfiguriert, die für die Bereitstellung der Arbeitslast in einem Cluster erforderlich sind.

Die portForward-Konfiguration wird verwendet, um den Kubernetes-Dienst für das Deployment zu definieren.

Ausgabe

apiVersion: skaffold/v2beta7 kind: Config build: artifacts: - image: leeroy-web context: leeroy-web - image: leeroy-app context: leeroy-app googleCloudBuild: projectId: {{project-id}} deploy: kubectl: manifests: - leeroy-web/kubernetes/* - leeroy-app/kubernetes/* portForward: - resourceType: deployment resourceName: leeroy-web port: 8080 localPort: 9000 Hinweis: Sie können die Dateien mit vi, emacs, nano oder dem Cloud Shell Code Editor aufrufen. Klicken Sie dazu in Cloud Shell auf das Symbol Editor öffnen.

Webanwendung erstellen

Das Tool „Skaffold“ übernimmt das Senden der Codebasis an Cloud Build.

  1. Aktivieren Sie die Cloud Build API:
gcloud services enable cloudbuild.googleapis.com
  1. Erstellen Sie einen Cloud Storage-Bucket, in dem Cloud Build Quellen und Logs speichern kann:
gsutil mb -p $PROJECT_ID gs://${PROJECT_ID}_cloudbuild
  1. Führen Sie den Befehl „skaffold“ aus, um die Anwendung zu erstellen und das Container-Image im zuvor erstellten Artifact Registry-Repository bereitzustellen:
cd web skaffold build --interactive=false \ --default-repo $REGION-docker.pkg.dev/$PROJECT_ID/web-app \ --file-output artifacts.json cd ..
  1. Nachdem der Skaffold-Build abgeschlossen ist, prüfen Sie, ob die Container-Images in Artifact Registry vorhanden sind:
gcloud artifacts docker images list \ $REGION-docker.pkg.dev/$PROJECT_ID/web-app \ --include-tags \ --format yaml

Der Parameter --format yaml gibt die Ausgabe zur besseren Lesbarkeit als YAML-Datei zurück. Die Ausgabe sollte in etwa so aussehen:

Ausgabe

--- createTime: '2022-01-14T02:07:54.995807Z' package: us-central1-docker.pkg.dev/{{project-id}}/web-app/leeroy-app tags: '9181623' updateTime: '2022-01-14T02:07:54.995807Z' version: sha256:6af6a0a72d13dd6597c0fc0191f697e2da2c3892d1bf8e87a3df8d96612e1495 --- createTime: '2022-01-14T02:07:53.629263Z' package: us-central1-docker.pkg.dev/{{project-id}}/web-app/leeroy-web tags: '9181623' updateTime: '2022-01-14T02:07:53.629263Z' version: sha256:a0179673d1876f205875b223557c83162e56e91c5e3313f5e99465a224adb6c9

Standardmäßig wird durch Skaffold das Tag für ein Image auf das zugehörige git-Tag gesetzt, sofern eines verfügbar ist. Ähnliche Informationen finden Sie in der Datei artifacts.json, die mit dem Befehl „skaffold“ erstellt wurde.

Skaffold generiert die Datei web/artifacts.json mit Details zu den bereitgestellten Images:

cat web/artifacts.json | jq

Ausgabe

{ "builds": [ { "imageName": "leeroy-web", "tag": "us-central1-docker.pkg.dev/{{project-id}}/web-app/leeroy-web:9181623@sha256:a0179673d1876f205875b223557c83162e56e91c5e3313f5e99465a224adb6c9" }, { "imageName": "leeroy-app", "tag": "us-central1-docker.pkg.dev/{{project-id}}/web-app/leeroy-app:9181623@sha256:6af6a0a72d13dd6597c0fc0191f697e2da2c3892d1bf8e87a3df8d96612e1495" } ]

Klicken Sie auf Fortschritt prüfen. Container-Images erstellen und in Artifact Registry bereitstellen

Aufgabe 5: Bereitstellungspipeline erstellen

In dieser Aufgabe richten Sie die Bereitstellungspipeline ein.

  1. Aktivieren Sie die Google Cloud Deploy API:
gcloud services enable clouddeploy.googleapis.com
  1. Erstellen Sie die Ressource delivery-pipeline mit der Datei delivery-pipeline.yaml:
gcloud config set deploy/region $REGION cp clouddeploy-config/delivery-pipeline.yaml.template clouddeploy-config/delivery-pipeline.yaml gcloud beta deploy apply --file=clouddeploy-config/delivery-pipeline.yaml
  1. Prüfen Sie, ob die Bereitstellungspipeline erstellt wurde:
gcloud beta deploy delivery-pipelines describe web-app

Die Bereitstellungspipeline sieht in etwa so aus:

Ausgabe

Unable to get target test Unable to get target staging Unable to get target prod Delivery Pipeline: createTime: '2021-08-16T14:03:18.294884547Z' description: web-app delivery pipeline etag: 2539eacd7f5c256d name: projects/{{project-id}}/locations/us-central1/deliveryPipelines/web-app serialPipeline: stages: - targetId: test - targetId: staging - targetId: prod uid: eb0601aa03ac4b088d74c6a5f13f36ae updateTime: '2021-08-16T14:03:18.680753520Z' Targets: []

Beachten Sie die ersten drei Zeilen der Ausgabe. Die Bereitstellungspipeline verweist auf drei Zielumgebungen, die noch nicht erstellt wurden. In der nächsten Aufgabe erstellen Sie diese Ziele.

Klicken Sie auf Fortschritt prüfen. Bereitstellungspipeline erstellen

Aufgabe 6: Deployment-Ziele konfigurieren

Es werden drei Ziele für die Bereitstellungspipeline erstellt – eines für jeden GKE-Cluster.

Prüfen, ob die Cluster bereit sind

Die drei GKE-Cluster sollten jetzt ausgeführt werden. Es ist jedoch sinnvoll, dies zu überprüfen.

  • Führen Sie den folgenden Befehl aus, um den Status der Cluster abzurufen:
gcloud container clusters list --format="csv(name,status)"

Alle drei Cluster sollten den Status „RUNNING“ haben, wie in der folgenden Ausgabe angegeben. Wenn sie noch nicht als „RUNNING“ gekennzeichnet sind, wiederholen Sie den obigen Befehl, bis sich ihr Status in „RUNNING“ geändert hat.

Ausgabe

name,status prod,RUNNING staging,RUNNING test,RUNNING

Wenn alle Cluster den Status „RUNNING“ haben, können Sie mit dem Lab fortfahren.

Kontext für jeden Cluster erstellen

Verwenden Sie die folgenden Befehle, um die Anmeldedaten für jeden Cluster abzurufen und einen einfach zu verwendenden kubectl-Kontext zu erstellen, um später auf die Cluster zu verweisen:

CONTEXTS=("test" "staging" "prod") for CONTEXT in ${CONTEXTS[@]} do gcloud container clusters get-credentials ${CONTEXT} --region ${REGION} kubectl config rename-context gke_${PROJECT_ID}_${REGION}_${CONTEXT} ${CONTEXT} done

Namespace in jedem Cluster erstellen

Erstellen Sie mit den folgenden Befehlen in jedem der drei Cluster einen Kubernetes-Namespace (web-app):

for CONTEXT in ${CONTEXTS[@]} do kubectl --context ${CONTEXT} apply -f kubernetes-config/web-app-namespace.yaml done

Die Anwendung wird im Namespace (web-app) bereitgestellt.

Ziele für die Bereitstellungspipeline erstellen

  1. Reichen Sie für jedes Ziel eine Zieldefinition ein:
for CONTEXT in ${CONTEXTS[@]} do envsubst < clouddeploy-config/target-$CONTEXT.yaml.template > clouddeploy-config/target-$CONTEXT.yaml gcloud beta deploy apply --file clouddeploy-config/target-$CONTEXT.yaml done

Die Ziele sind in einer YAML-Datei beschrieben. Jedes Ziel konfiguriert die relevanten Clusterinformationen für das Ziel. Die Konfigurationen für die Ziele „test“ und „staging“ sind weitgehend identisch.

  1. Zeigen Sie die Details für das Ziel „test“ an:
cat clouddeploy-config/target-test.yaml

Ausgabe

apiVersion: deploy.cloud.google.com/v1beta1 kind: Target metadata: name: test description: test cluster gke: cluster: projects/{{project-id}}/locations/us-central1/clusters/test

Das Ziel „prod“ ist etwas anders, da es eine Genehmigung erfordert (siehe die Einstellung requireApproval in der Ausgabe), bevor ein Release in den Cluster hochgestuft werden kann.

  1. Details zum Ziel „prod“ anzeigen:
cat clouddeploy-config/target-prod.yaml

Ausgabe

apiVersion: deploy.cloud.google.com/v1beta1 kind: Target metadata: name: prod description: prod cluster requireApproval: true gke: cluster: projects/{{project-id}}/locations/us-central1/clusters/prod
  1. Prüfen Sie, ob die drei Ziele (test, staging, prod) erstellt wurden:
gcloud beta deploy targets list

Alle Google Cloud Deploy-Ziele für die Bereitstellungspipeline wurden erstellt.

Klicken Sie auf Fortschritt prüfen. Deployment-Ziele konfigurieren

Aufgabe 7: Release erstellen

In dieser Aufgabe erstellen Sie einen Release der Anwendung.

Ein Google Cloud Deploy-Release ist eine bestimmte Version eines oder mehrerer Container-Images, die mit einer bestimmten Bereitstellungspipeline verknüpft sind. Nachdem ein Release erstellt wurde, kann dieser über mehrere Ziele (die Hochstufungssequenz) hochgestuft werden. Wenn Sie einen Release erstellen, wird Ihre Anwendung außerdem mit Skaffold gerendert und die Ausgabe wird als Zeitpunktreferenz gespeichert, die für die Dauer dieses Release verwendet wird.

Da dies der erste Release Ihrer Anwendung ist, geben Sie ihm den Namen web-app-001.

  1. Führen Sie den folgenden Befehl aus, um den Release zu erstellen:
gcloud beta deploy releases create web-app-001 \ --delivery-pipeline web-app \ --build-artifacts web/artifacts.json \ --source web/

Der Parameter --build-artifacts verweist auf die Datei artifacts.json, die zuvor von Skaffold erstellt wurde. Der Parameter --source verweist auf das Quellverzeichnis der Anwendung, das die Datei „skaffold.yaml“ enthält.

Wenn ein Release erstellt wird, wird er automatisch auch für das erste Ziel in der Pipeline eingeführt (es sei denn, eine Genehmigung ist erforderlich, was in einem späteren Schritt diesem Lab behandelt wird).

  1. Führen Sie den folgenden Befehl aus, um zu prüfen, ob die Anwendung im Ziel „test“ bereitgestellt wurde:
gcloud beta deploy rollouts list \ --delivery-pipeline web-app \ --release web-app-001

Ausgabe

--- approvalState: DOES_NOT_NEED_APPROVAL createTime: '2021-08-16T14:05:21.961604Z' deployEndTime: '2021-08-16T14:06:35.278604Z' deployStartTime: '2021-08-16T14:06:22.420091744Z' deployingBuild: projects/{{project-id}}/locations/us-central1/builds/4815b788-ec5e-4185-9141-a5b57c71b001 enqueueTime: '2021-08-16T14:06:21.760830Z' etag: 5cb7b6c342b5f29b name: projects/{{project-id}}/locations/us-central1/deliveryPipelines/web-app/releases/web-app-001/rollouts/web-app-001-to-test-0001 state: SUCCESS targetId: test uid: cccd9525d3a0414fa60b2771036841d9

Der erste Roll-out eines Release dauert einige Minuten, da die Manifeste für alle Ziele beim Erstellen des Release von Google Cloud Deploy gerendert werden. Es kann auch einige Minuten dauern, bis der GKE-Cluster die für das Deployment erforderlichen Ressourcen bereitstellt.

Wenn in der Ausgabe des vorherigen Befehls nicht state: SUCCESS zu sehen ist, warten Sie und wiederholen Sie den Befehl so oft, bis der Roll-out abgeschlossen ist.

  1. Führen Sie die folgenden Befehle aus, um zu prüfen, ob die Anwendung im GKE-Cluster „test“ bereitgestellt wurde:
kubectx test kubectl get all -n web-app

Ausgabe

NAME READY STATUS RESTARTS AGE pod/leeroy-app-5547cf9d9b-rgc2l 1/1 Running 0 3m27s pod/leeroy-web-6768b49c46-w7vt9 1/1 Running 0 3m27s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/leeroy-app ClusterIP None <none> 50051/TCP 3m28s NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/leeroy-app 1/1 1 1 3m28s deployment.apps/leeroy-web 1/1 1 1 3m28s NAME DESIRED CURRENT READY AGE replicaset.apps/leeroy-app-5547cf9d9b 1 1 1 3m28s replicaset.apps/leeroy-web-6768b49c46 1 1 1 3m28s

Klicken Sie auf Fortschritt prüfen. Release erstellen

Aufgabe 8: Anwendung auf das Ziel „staging“ hochstufen

In dieser Aufgabe stufen Sie die Anwendung aus dem Ziel „test“ auf das Ziel „staging“ hoch.

  1. Stufen Sie die Anwendung auf das Ziel „staging“ hoch:
gcloud beta deploy releases promote \ --delivery-pipeline web-app \ --release web-app-001

Sie werden aufgefordert, fortzufahren, bevor die Hochstufung beginnt.

  • Drücken Sie die Eingabetaste, um den Standardwert zu übernehmen (Y = Ja).
  1. Führen Sie den folgenden Befehl aus, um zu prüfen, ob die Anwendung im Ziel „staging“ bereitgestellt wurde:
gcloud beta deploy rollouts list \ --delivery-pipeline web-app \ --release web-app-001

Die Ausgabe ansehen

Suchen Sie nach dem Abschnitt targetId: staging. Wenn in der Ausgabe des vorherigen Befehls nicht state: SUCCESS zu sehen ist, warten Sie und wiederholen Sie den Befehl so oft, bis der Roll-out abgeschlossen ist.

Ausgabe

--- approvalState: DOES_NOT_NEED_APPROVAL createTime: '2022-01-05T02:19:32.539468Z' deployEndTime: '2022-01-05T02:19:45.970949Z' deployStartTime: '2022-01-05T02:19:33.111948770Z' deployingBuild: projects/743805075658/locations/us-central1/builds/2316517c-3a2f-4cd3-80ad-6d133b653746 etag: 1109b802ff586df5 name: projects/{{project-id}}/locations/us-central1/deliveryPipelines/web-app/releases/web-app-001/rollouts/web-app-001-to-staging-0001 state: SUCCEEDED targetId: staging uid: 80a35a5f044844708d2050f8c556e07e

Klicken Sie auf Fortschritt prüfen. Anwendung auf das Ziel „staging“ hochstufen

Aufgabe 9: Anwendung auf das Ziel „prod“ hochstufen

In dieser Aufgabe stufen Sie die Anwendung wieder hoch, geben aber auch eine Genehmigung.

  1. Stufen Sie die Anwendung auf das Ziel „prod“ hoch:
gcloud beta deploy releases promote \ --delivery-pipeline web-app \ --release web-app-001

Sie werden aufgefordert, fortzufahren, bevor die Hochstufung beginnt.

  • Drücken Sie die Eingabetaste, um den Standardwert zu übernehmen (Y = Ja).
  1. Führen Sie den folgenden Befehl aus, um den Status des Ziels „prod“ zu prüfen:
gcloud beta deploy rollouts list \ --delivery-pipeline web-app \ --release web-app-001

In der Ausgabe lautet der approvalState NEEDS_APPROVAL und der Status PENDING_APPROVAL.

Ausgabe

--- approvalState: NEEDS_APPROVAL createTime: '2021-08-16T14:12:07.466989Z' etag: 6e9303e5a1b04084 name: projects/{{project-id}}/locations/us-central1/deliveryPipelines/web-app/releases/web-app-001/rollouts/web-app-001-to-prod-0001 state: PENDING_APPROVAL targetId: prod uid: a5c7d6007fee4d80904d49142581aaa7
  1. Genehmigen Sie den Roll-out mit dem folgenden Befehl:
gcloud beta deploy rollouts approve web-app-001-to-prod-0001 \ --delivery-pipeline web-app \ --release web-app-001

Sie werden aufgefordert, die Einführung zu genehmigen, bevor die Werbekampagne beginnt.

  • Drücken Sie die Eingabetaste, um den Standardwert zu übernehmen (Y = Ja).
  1. Führen Sie den folgenden Befehl aus, um zu prüfen, ob die Anwendung im Ziel „prod“ bereitgestellt wurde:
gcloud beta deploy rollouts list \ --delivery-pipeline web-app \ --release web-app-001

Suchen Sie wie bei vorherigen Roll-outs den Eintrag für das Ziel (targetId: prod) und prüfen Sie, ob der Roll-out abgeschlossen ist (state: SUCCEEDED). Führen Sie den Befehl regelmäßig aus, bis der Roll-out abgeschlossen ist.

  1. Prüfen Sie mit kubectl den Status der bereitgestellten Anwendung:
kubectx prod kubectl get all -n web-app

Klicken Sie auf Fortschritt prüfen. Anwendung auf das Ziel „prod“ hochstufen

Das wars!

Sie haben das Lab erfolgreich abgeschlossen. In diesem Lab haben Sie gelernt, wie Sie mit Google Cloud Deploy eine Bereitstellungspipeline erstellen. Sie haben ein Release für eine einfache Anwendung erstellt und die Anwendung über eine Reihe von Google Kubernetes Engine (GKE)-Zielen hochgestuft. Sie haben die Anwendung zuerst im Ziel „test“ bereitgestellt, sie dann auf das Ziel „staging“ hochgestuft und schließlich auf das Ziel „prod“. Jetzt können Sie mit Cloud Deploy Continuous Delivery-Pipelines erstellen.

Google Cloud-Schulungen und -Zertifizierungen

In unseren Schulungen erfahren Sie alles zum optimalen Einsatz unserer Google Cloud-Technologien und können sich entsprechend zertifizieren lassen. Unsere Kurse vermitteln technische Fähigkeiten und Best Practices, damit Sie möglichst schnell mit Google Cloud loslegen und Ihr Wissen fortlaufend erweitern können. Wir bieten On-Demand-, Präsenz- und virtuelle Schulungen für Anfänger wie Fortgeschrittene an, die Sie individuell in Ihrem eigenen Zeitplan absolvieren können. Mit unseren Zertifizierungen weisen Sie nach, dass Sie Experte im Bereich Google Cloud-Technologien sind.

Anleitung zuletzt am 15. Mai 2025 aktualisiert

Lab zuletzt am 15. Mai 2025 getestet

© 2025 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.

Vorbereitung

  1. Labs erstellen ein Google Cloud-Projekt und Ressourcen für einen bestimmten Zeitraum
  2. Labs haben ein Zeitlimit und keine Pausenfunktion. Wenn Sie das Lab beenden, müssen Sie von vorne beginnen.
  3. Klicken Sie links oben auf dem Bildschirm auf Lab starten, um zu beginnen

Privates Surfen verwenden

  1. Kopieren Sie den bereitgestellten Nutzernamen und das Passwort für das Lab
  2. Klicken Sie im privaten Modus auf Konsole öffnen

In der Konsole anmelden

  1. Melden Sie sich mit Ihren Lab-Anmeldedaten an. Wenn Sie andere Anmeldedaten verwenden, kann dies zu Fehlern führen oder es fallen Kosten an.
  2. Akzeptieren Sie die Nutzungsbedingungen und überspringen Sie die Seite zur Wiederherstellung der Ressourcen
  3. Klicken Sie erst auf Lab beenden, wenn Sie das Lab abgeschlossen haben oder es neu starten möchten. Andernfalls werden Ihre bisherige Arbeit und das Projekt gelöscht.

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

Es ist immer nur ein Lab möglich

Bestätigen Sie, dass Sie alle vorhandenen Labs beenden und dieses Lab starten möchten

Privates Surfen für das Lab verwenden

Nutzen Sie den privaten oder Inkognitomodus, um dieses Lab durchzuführen. So wird verhindert, dass es zu Konflikten zwischen Ihrem persönlichen Konto und dem Teilnehmerkonto kommt und zusätzliche Gebühren für Ihr persönliches Konto erhoben werden.