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.
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 sind leitender Google Kubernetes Engine-Admin in einem Team, das den Onlineshop für OnlineBoutique verwaltet.
Sie möchten die Teamwebsite in der Google Kubernetes Engine bereitstellen, suchen aber noch nach Möglichkeiten, mit denen Sie die Kosten niedrig und die Leistung hoch halten.
Ihre Aufgabe ist es, die OnlineBoutique-App in der GKE bereitzustellen und einige Konfigurationsänderungen vorzunehmen, die zur Kostenoptimierung empfohlen wurden.
Bei der Bereitstellung sollen Sie folgende Richtlinien beachten:
Erstellen Sie den Cluster in der Zone .
Das Benennungsschema lautet „Team-Ressource-Nummer“. Ein Cluster könnte also beispielsweise den Namen erhalten.
Beginnen Sie im ersten Cluster mit der Maschinengröße e2‑standard‑2 (2 vCPU, 8 GB Arbeitsspeicher).
Richten Sie den Cluster so ein, dass er den release-channelrapid verwendet.
Aufgabe 1: Cluster erstellen und App bereitstellen
Bevor Sie die App bereitstellen können, müssen Sie einen Cluster in der Zone erstellen und den Namen festlegen.
Fangen Sie klein an und erstellen Sie einen zonalen Cluster mit nur zwei (2) Knoten.
Bevor Sie den Shop bereitstellen, richten Sie Namespaces ein, mit denen die Ressourcen im Cluster nach den beiden Umgebungen getrennt werden – dev und prod.
Stellen Sie dann die App mit dem folgenden Befehl im dev-Namespace bereit:
git clone https://github.com/GoogleCloudPlatform/microservices-demo.git &&
cd microservices-demo && kubectl apply -f ./release/kubernetes-manifests.yaml --namespace dev
Klicken Sie auf Fortschritt prüfen. Cluster erstellen und eine App bereitstellen
Aufgabe 2: Zu einem optimierten Knotenpool migrieren
Wenn die App im dev-Namespace bereitgestellt wurde, sehen Sie sich die Knotendetails an:
Sie kommen zum Schluss, dass Sie den Knotenpool des Clusters anpassen sollten:
Die aktuellen Bereitstellungen lassen noch reichlich RAM übrig. Sie sollten also einen Knotenpool aus Maschinen mit weniger RAM nutzen können.
Die meisten Bereitstellungen, für die Sie die Anzahl der Replikate erhöhen könnten, brauchen nur 100 mCPU pro zusätzlichem Pod. Sie könnten einen Knotenpool mit weniger CPU insgesamt verwenden, wenn Sie ihn für kleinere Maschinen konfigurieren. Allerdings müssen Sie einrechnen, wie viele Bereitstellungen skaliert werden müssen und wie weit.
Erstellen Sie einen neuen Knotenpool mit dem Namen und dem Maschinentyp custom‑2‑3584.
Legen Sie die Anzahl der Knoten auf 2 fest.
Wenn der neue Knotenpool eingerichtet ist, migrieren Sie die Bereitstellung der App dorthin. Dazu müssen Sie den default-poolsperren und leeren.
Löschen Sie den Standardpool, wenn die Bereitstellungen vollständig migriert wurden.
Klicken Sie auf Fortschritt prüfen. Zu einem optimierten Knotenpool migrieren
Aufgabe 3: Frontend-Update anwenden
Sie haben gerade alles bereitgestellt – und nun verlangt das Entwicklungsteam in letzter Minute vor dem Release ein Update! Das ist absolut okay. Sie wissen, dass das ganz ohne Ausfallzeit geht.
Legen Sie ein Budget für Pod-Störungen für die Frontend-Bereitstellung fest.
Nennen Sie es onlineboutique-frontend-pdb.
Legen Sie die min-availability der Bereitstellung auf 1 fest.
Jetzt können Sie das Update Ihres Teams anwenden. Das Team hat die Datei für das Banner auf der Startseite geändert und das Docker-Image aktualisiert:
Bearbeiten Sie die Frontend-Bereitstellung und geben Sie das aktualisierte Image als neues Image an.
Ändern Sie die ImagePullPolicy in Immer, während Sie die Bereitstellung bearbeiten.
Klicken Sie auf Fortschritt prüfen. Frontend-Update anwenden
Aufgabe 4: Autoscaling je nach geschätztem Traffic
In Kürze startet eine Marketingkampagne, die viel Traffic im Shop von OnlineBoutique auslösen wird. Normalerweise würden Sie rechtzeitig zusätzliche Ressourcen hochfahren, die die voraussichtliche Traffic-Spitze auffangen. Wenn allerdings mehr Traffic anfällt als erwartet, werden Sie womöglich mitten in der Nacht aus dem Schlaf gerissen, weil Sie noch mehr Ressourcen hochfahren müssen.
Umgekehrt sollen die zusätzlichen Ressourcen nicht länger laufen als nötig. Um Kosten (und Kopfzerbrechen) zu sparen, können Sie die Kubernetes-Bereitstellungen so konfigurieren, dass sie mit steigender Arbeitslast automatisch skaliert werden.
Bringen Sie den erhöhten Traffic mit dem horizontalen Pod-Autoscaling für die Frontend-Bereitstellung unter Kontrolle.
Skalieren Sie basierend auf einem CPU-Zielwert von 50 %.
Stellen Sie einen Wert zwischen 1 (Minimum) und (Maximum) für das Pod-Scaling ein.
Natürlich wollen Sie verhindern, dass es zu Ausfallzeiten für die Nutzer kommt, wenn die Bereitstellung skaliert wird.
Legen Sie dazu fest, dass die Bereitstellung mit einem CPU-Zielwert von 50 % skaliert werden soll. Damit sollte genügend Spielraum bleiben, dass die Arbeitslast auch beim Autoscaling bewältigt wird.
Stellen Sie die Skalierung für die Bereitstellung auf einen Wert zwischen 1 (Minimum) und (Maximum) ein.
Was aber, wenn die aktuellen Ressourcen die Traffic-Spitze nicht bewältigen können? Möglicherweise müssen Sie zusätzliche Rechenknoten bereitstellen.
Prüfen Sie als Nächstes, ob der Cluster bei Bedarf automatisch zusätzliche Rechenknoten hochfahren kann. Autoscaling ist allerdings nicht nur auf das Hochskalieren beschränkt.
Vorsorglich konfigurieren Sie sowohl eine Mindestanzahl als auch eine Höchstanzahl für die Knoten. So kann der Cluster Knoten hinzufügen, wenn viel Traffic herrscht, und bei weniger Traffic wieder Knoten entfernen.
Konfigurieren Sie den Cluster Autoscaler für die Skalierung zwischen mindestens 1 Knoten und höchstens 6 Knoten.
Klicken Sie auf Fortschritt prüfen. Autoscaling je nach dem geschätzten Traffic
Führen Sie zum Schluss einen Lasttest durch, der den erhöhten Traffic simuliert.
Bei OnlineBoutique ist die Funktion zur Lastgenerierung schon eingebunden. Aktuell simuliert die dev-Instanz einen Traffic mit etwa 10 gleichzeitig aktiven Nutzern im Shop.
Damit der erwartete Traffic für dieses Ereignis besser repliziert wird, führen Sie die Lastgenerierung über den loadgenerator-Pod mit diesem Befehl mit einer höheren Anzahl gleichzeitig aktiver Nutzer durch. Ersetzen Sie YOUR_FRONTEND_EXTERNAL_IP durch die IP des Diensts „frontend-external“:
Beobachten Sie nun die Arbeitslasten und sehen Sie, wie der Cluster mit der Traffic-Spitze umgeht.
Normalerweise dürfte recommendationservice jetzt abstürzen oder zumindest erheblich mit der erhöhten Nachfrage kämpfen.
Wenden Sie das horizontale Pod-Autoscaling auf die recommendationservice-Bereitstellung an. Skalieren Sie basierend auf einem CPU-Zielwert von 50 % und stellen Sie einen Wert zwischen 1 (Minimum) und 5 (Maximum) für das Pod-Scaling ein.
Hinweis: Die Skalierung beim Lasttest und die Bereitstellung neuer Knoten dauert einige Minuten.
Aufgabe 5: (Optional) Andere Dienste optimieren
Horizontales Pod-Autoscaling für den Frontend-Dienst sorgt dafür, dass die App auch beim Lasttest noch nutzbar bleibt, aber bei einem Teil Ihrer anderen Arbeitslasten werden die Ressourcen knapp.
Wenn Sie noch Zeit im Lab haben, sehen Sie sich einige dieser Arbeitslasten an und versuchen Sie, sie per Autoscaling auf die richtigen Ressourcenwerte zu optimieren.
Sie können auch ausprobieren, ob sich die Ressourcennutzung per Auto-Provisioning von Knoten weiter optimieren lässt.
Das wars!
Sie haben das Lab erfolgreich abgeschlossen. Darin haben Sie die OnlineBoutique-App in der Google Kubernetes Engine bereitgestellt und einige Konfigurationsänderungen vorgenommen, die zur Kostenoptimierung empfohlen wurden. Außerdem haben Sie das horizontale Pod-Autoscaling auf die Frontend- und die recommendationservice-Bereitstellung angewendet, damit Sie den erhöhten Traffic unter Kontrolle bekommen. Zusätzlich haben Sie weitere Dienste per Autoscaling auf die richtigen Ressourcenwerte optimiert.
Nächstes Skill-Logo erwerben
Dieses Lab zum selbstbestimmten Lernen ist Teil des Kurses Kostenoptimierung für die Google Kubernetes Engine. Wenn Sie diesen Kurs abschließen, erhalten Sie das oben gezeigte Skill-Logo, das Sie in Ihren Lebenslauf oder Ihre Social-Media-Profile einfügen können. Teilen Sie Ihre Leistung mit #GoogleCloudBadge.
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.
Labs erstellen ein Google Cloud-Projekt und Ressourcen für einen bestimmten Zeitraum
Labs haben ein Zeitlimit und keine Pausenfunktion. Wenn Sie das Lab beenden, müssen Sie von vorne beginnen.
Klicken Sie links oben auf dem Bildschirm auf Lab starten, um zu beginnen
Privates Surfen verwenden
Kopieren Sie den bereitgestellten Nutzernamen und das Passwort für das Lab
Klicken Sie im privaten Modus auf Konsole öffnen
In der Konsole anmelden
Melden Sie sich mit Ihren Lab-Anmeldedaten an. Wenn Sie andere Anmeldedaten verwenden, kann dies zu Fehlern führen oder es fallen Kosten an.
Akzeptieren Sie die Nutzungsbedingungen und überspringen Sie die Seite zur Wiederherstellung der Ressourcen
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.
Dieses Lab enthält eine Reihe von Aufgaben, in denen Sie eine Cluster-App bereitstellen, skalieren und pflegen und gleichzeitig die Ressourcennutzung optimieren.