GSP319
Einführung
In einem Challenge-Lab geht es um ein bestimmtes Szenario mit mehreren Aufgaben. Anders als bei einem normalen Lab erhalten Sie jedoch keine Schritt-für-Schritt-Anleitung, sondern nutzen die in den Labs des jeweiligen Kurses erlernten Fähigkeiten, um die Aufgaben selbst zu lösen. Ihre Lösungen werden automatisch bewertet. Die erzielten Punkte finden Sie rechts oben auf dieser Seite.
In Challenge-Labs werden keine neuen Grundlagen zu Google Cloud vermittelt. Sie sollen dabei Ihr Wissen erweitern und es wird erwartet, dass Sie beispielsweise Standardwerte ändern und Fehlermeldungen lesen und recherchieren, um Ihre eigenen Fehler zu beheben.
Die volle Punktzahl erreichen Sie nur, wenn Sie alle Aufgaben innerhalb der vorgegebenen Zeit lösen.
Dieses Lab wird Teilnehmenden empfohlen, die sich für den Kurs Website in Google Cloud erstellen angemeldet haben. Sind Sie bereit?
Einrichtung und Anforderungen
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.
Das Szenario
Sie haben gerade einen neuen Aufgabenbereich bei FancyStore, Inc. übernommen:
Sie sollen die monolithische E-Commerce-Website des Unternehmens in mehrere logisch voneinander getrennte Mikrodienste aufteilen. Der Code der bestehenden monolithischen Anwendung befindet sich in einem GitHub-Repository. Diese Anwendung sollen Sie containerisieren und dann refaktorieren.
Das Know-how für diese Aufgaben wird vorausgesetzt, Sie erhalten daher keine detaillierten Anleitungen.
Sie wurden gebeten, die Leitung des Projekts zu übernehmen, da das letzte Team bei der Aufgabe ein Burn-out erlitten hat und sich jetzt neuen, weniger nervenaufreibenden Aufgaben widmet – und zwar genauer gesagt dem Lavendelanbau. Ihre Aufgabe ist es, den Quellcode herunterzuladen, daraus einen Container zu erstellen (einer der angehenden Gärtner hat Ihnen ein Dockerfile hinterlassen) und diesen in die GKE zu übertragen.
Als Erstes erstellen, implementieren und testen Sie die monolithische Anwendung, um sich zu vergewissern, dass der Quellcode fehlerfrei ist. Danach lösen Sie die einzelnen Bestandteile heraus und stellen sie als Mikrodienste bereit.
Folgende Vorgaben von FancyStore, Inc. sind zu beachten:
- Cluster müssen in erstellt werden.
- Die Benennung erfolgt gemäß dem Format team-resource, d. h. eine Instanz könnte z. B. fancystore-orderservice1 heißen.
- Die Dimensionierung der Ressourcen muss kostengünstig sein, da die Projekte überwacht werden und das betreffende Projekt bei einem übermäßigen Ressourcenverbrauch beendet wird.
- Sofern nicht anders angegeben, soll der Maschinentyp
e2-medium verwendet werden.
Die Aufgabe
Sie setzen sich an Ihren Schreibtisch und starten Ihren neuen Laptop. Da erhalten Sie auch schon den Auftrag, die folgenden Aufgaben auszuführen. Viel Erfolg!
Aufgabe 1: Code der monolithischen Anwendung herunterladen und Container erstellen
-
Melden Sie sich in Ihrem neuen Projekt an und aktivieren Sie Cloud Shell.
-
Zuerst müssen Sie das Git-Repository des Teams klonen. Mit dem Skript setup.sh im Stammverzeichnis des Projekts können Sie den Container für die monolithische Anwendung erstellen.
-
Nachdem Sie das Skript setup.sh ausgeführt haben, sollten Sie folgenden Code ausführen, um sich zu vergewissern, dass in Cloud Shell die aktuelle Version von nodeJS ausgeführt wird:
nvm install --lts
Es gibt verschiedene Projekte, die erstellt und per Push übertragen werden können.
-
Übertragen Sie den Build der monolithischen Anwendung, der sich passenderweise im Verzeichnis monolith befindet, an Artifact Registry. Mit dem Dockerfile im Ordner ~/monotlith-to-microservices/monolith können Sie den Anwendungscontainer erstellen.
-
Dazu müssen Sie Cloud Build im Ordner „monolith“ ausführen und ihn dann per Push an Artifact Registry übertragen.
-
Benennen Sie das Artefakt so:
-
Repository: gcr.io/${GOOGLE_CLOUD_PROJECT}
-
Image-Name:
-
Image-Version: 1.0.0
Klicken Sie auf Fortschritt prüfen.
Code der monolithischen Anwendung herunterladen und Container erstellen
Aufgabe 2: Einen Kubernetes-Cluster erstellen und die Anwendung bereitstellen
Nachdem Sie nun das Image erstellt und in Artifact Registry hochgeladen haben, richten Sie im nächsten Schritt einen Cluster ein, in dem das Image bereitgestellt wird.
Da die Vorgabe war, alle Ressourcen in der Zone bereitzustellen, müssen Sie zuerst einen GKE-Cluster erstellen. Beginnen Sie mit einem 3-Knoten-Cluster.
-
Erstellen Sie diesen folgendermaßen:
-
Name des Clusters:
-
Region:
-
Knotenanzahl: 3
Nachdem Sie ein Image erstellt und einen Cluster eingerichtet haben, können Sie jetzt Ihre Anwendung bereitstellen.
Stellen Sie dazu das Image im Cluster bereit. Dadurch wird Ihre Anwendung bereits ausgeführt, aber der Zugriff von außen ist noch nicht möglich. Ihr Team hat Ihnen mitgeteilt, dass die Anwendung über Port 8080 ausgeführt wird. Sie müssen sie jedoch über den nutzerfreundlicheren Port 80 zugänglich machen.
-
Verwenden Sie bei der Bereitstellung folgende Angaben:
-
Name des Clusters:
-
Containername:
-
Containerversion: 1.0.0
-
Anwendungsport: 8080
-
Extern zugänglicher Port: 80
Hinweis: Für dieses Lab wurde die Freigabe der Dienste vereinfacht. Normalerweise werden die öffentlichen Endpunkte anhand eines API Gateways geschützt. Weitere Informationen zu bewährten Methoden finden Sie im Leitfaden Best Practices für Mikrodienste.
- Notieren Sie sich die IP-Adresse, die bei der öffentlichen Bereitstellung zugewiesen wurde. Sie können sie jetzt im Browser aufrufen.
Sie sollten Folgendes sehen:

Klicken Sie auf Fortschritt prüfen.
Einen Kubernetes-Cluster erstellen und die Anwendung bereitstellen
Da Sie die monolithische Anwendung von FancyStore nun erstellen und bereitstellen können, ist der nächste Schritt die Aufteilung in Mikrodienste.
Monolithische Anwendung zu Mikrodiensten migrieren
Die bestehende monolithische Website wird jetzt in der GKE ausgeführt und Sie können die Dienste in Mikrodienste umwandeln. Normalerweise sollte in der Planungsphase entschieden werden, welche Dienste in kleinere Einheiten aufgeteilt werden. Die Unterteilung richtet sich meistens nach bestimmten Teilen der Anwendung, beispielsweise dem Geschäftsbereich.
Für unser Challenge-Lab überspringen wir diesen Prozess und tun so, als ob Sie bereits einige Mikrodienste aus der Struktur der monolithischen Anwendung herausgelöst haben: „orders“, „products“ und „frontend“. Ihr Code ist fertig, Sie müssen die Dienste aber noch bereitstellen.
Aufgabe 3: Neue Mikrodienste erstellen
Für drei der Dienste sollen eigene Container erstellt werden. Sie benötigen dazu jeweils die folgenden Informationen:
- Den Stammordner des Dienstes (in dem Sie den Container erstellen)
- Das Repository, in das Sie den Container hochladen
- Den Namen und die Version des Container-Artefakts
Eine containerisierte Version Ihrer Mikrodienste erstellen
Folgende Dienste müssen containerisiert werden:
- Rufen Sie die Stammordner auf und laden Sie die erstellten Artefakte mit den angegebenen Metadaten in Artifact Registry hoch:
|
Mikrodienst „orders“
|
Stammordner des Service: ~/monolith-to-microservices/microservices/src/orders
GCR-Repository: gcr.io/${GOOGLE_CLOUD_PROJECT}
Image-Name:
Image-Version: 1.0.0
|
|
Mikrodienst „products“
|
Stammordner des Service: ~/monolith-to-microservices/microservices/src/products
GCR-Repository: gcr.io/${GOOGLE_CLOUD_PROJECT}
Image-Name:
Image-Version: 1.0.0
|
- Wenn diese Mikrodienste containerisiert und ihre Images in Artifact Registry hochgeladen wurden, können Sie sie bereitstellen und öffentlich verfügbar machen.
Klicken Sie auf Fortschritt prüfen.
Eine containerisierte Version der Mikrodienste „orders“ und „products“ erstellen
Aufgabe 4: Die neuen Mikrodienste bereitstellen
Stellen Sie diese neuen Container nun genau so bereit, wie Sie die monolithische Anwendung bereitgestellt haben. Da diese Dienste verschiedene Ports verwenden, beachten Sie die in der Tabelle unten angegebenen Portzuordnungen.
- Verwenden Sie bei der Erstellung und öffentlichen Bereitstellung die folgenden Angaben:
|
Mikrodienst „orders“
|
Name des Clusters:
Containername:
Containerversion: 1.0.0
Anwendungsport: 8081
Extern zugänglicher Port: 80
|
|
Mikrodienst „products“
|
Name des Clusters:
Containername:
Containerversion: 1.0.0
Anwendungsport: 8082
Extern zugänglicher Port: 80
|
Hinweis: Notieren Sie sich die IP-Adresse der Dienste „orders“ und „products“. Sie benötigen diese Angabe in den nächsten Schritten.
-
Sie können überprüfen, ob die Bereitstellungen erfolgreich waren und die Dienste verfügbar sind, indem Sie folgende URLs im Browser aufrufen:
http://ORDERS_EXTERNAL_IP/api/orders
http://PRODUCTS_EXTERNAL_IP/api/products
Beide Dienste sollten jeweils einen JSON-String zurückgeben.
Klicken Sie auf Fortschritt prüfen.
Die neuen Mikrodienste bereitstellen
Aufgabe 5: Mikrodienst „frontend“ konfigurieren und bereitstellen
Nachdem Sie „orders“ und „products“ herausgelöst haben, müssen Sie den Dienst „frontend“ so konfigurieren, dass er auf die beiden anderen Mikrodienste verweist, und ihn dann bereitstellen.
Mikrodienst „frontend“ neu konfigurieren
- Ersetzen Sie im
nano-Editor die lokale URL durch die IP-Adresse des neuen Mikrodienstes „products“:
cd ~/monolith-to-microservices/react-app
nano .env
Ihre Datei sollte im Editor in etwa so aussehen:
Ausgabe:
REACT_APP_ORDERS_URL=http://localhost:8081/api/orders
REACT_APP_PRODUCTS_URL=http://localhost:8082/api/products
- Fügen Sie bei
REACT_APP_PRODUCTS_URL die IP-Adressen Ihrer neuen Mikrodienste „orders“ und „products“ ein:
REACT_APP_ORDERS_URL=http://<ORDERS_IP_ADDRESS>/api/orders
REACT_APP_PRODUCTS_URL=http://<PRODUCTS_IP_ADDRESS>/api/products
-
Drücken Sie „STRG + O“, die EINGABETASTE und „STRG + X“, um die Datei im nano-Editor zu speichern.
-
Erstellen Sie nun die Frontend-App anhand des folgenden Befehls neu, bevor Sie sie containerisieren:
npm run build
Aufgabe 6: Eine containerisierte Version des Mikrodienstes „frontend“ erstellen
Die Mikrodienste „orders“ und „products“ sind containerisiert und bereitgestellt und der Dienst „frontend“ wurde so konfiguriert, dass er auf die beiden anderen Mikrodienste verweist. Der letzte Schritt besteht jetzt darin, auch „frontend“ zu containerisieren und bereitzustellen.
Erstellen Sie mit Cloud Build ein Paket für den Dienst „frontend“ und übertragen Sie es per Push an Artifact Registry.
-
Stammordner des Dienstes: ~/monolith-to-microservices/microservices/src/frontend
-
Repository: gcr.io/${GOOGLE_CLOUD_PROJECT}
-
Image-Name:
-
Image-Version: 1.0.0
Der Vorgang kann einige Minuten dauern.
Klicken Sie auf Fortschritt prüfen.
Eine containerisierte Version des Mikrodienstes „frontend“ erstellen
Aufgabe 7: Den Mikrodienst „frontend“ bereitstellen
Stellen Sie diesen neuen Container nun genau so bereit, wie Sie die Mikrodienste „orders“ und „products“ bereitgestellt haben.
-
Verwenden Sie bei der Bereitstellung folgende Angaben:
-
Name des Clusters:
-
Containername:
-
Containerversion: 1.0.0
-
Anwendungsport: 8080
-
Extern zugänglicher Port: 80
-
Sie können sich jetzt vergewissern, dass die Bereitstellung erfolgreich war und die Mikrodienste verfügbar sind, indem Sie die IP-Adresse des Dienstes „frontend“ im Browser aufrufen:
Sie sollten die Startseite von FancyStore mit Links zu den Seiten „Products“ und „Orders“ sehen, die von Ihren neuen Mikrodiensten bereitgestellt werden.
Klicken Sie auf Fortschritt prüfen.
Den Mikrodienst „frontend“ bereitstellen
Das wars! Sie haben das Lab erfolgreich abgeschlossen.

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 10. März 2026 aktualisiert
Lab zuletzt am 10. März 2026 getestet
© 2026 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.