Entwicklung mit Cloud Shell & Cloud Code

1. Übersicht

Cloud Shell ist eine Umgebung für Online-Entwicklung und -Betrieb, auf die Sie mit Ihrem Browser von überall aus zugreifen können. Sie können Ihre Ressourcen mit dem Online-Terminal verwalten, auf dem Dienstprogramme wie das gcloud-Befehlszeilentool und kubectl vorinstalliert sind. Mit dem Cloud Shell-Editor können Sie außerdem cloudbasierte Anwendungen entwickeln, erstellen, debuggen und bereitstellen.

In diesem Lab arbeiten Sie mit Cloud Shell und dem Cloud Shell-Editor. Sie erstellen, implementieren und testen mit Cloud Code containerbasierte Anwendungen in lokalen Emulatoren und auf den echten Diensten.

Lerninhalte

  • Einführung in die wichtigsten Funktionen von Cloud Shell
  • Mit verschiedenen Cloud Shell-Nutzungsmustern üben
  • Cloud Shell-Umgebung für die erweiterte Verwendung anpassen
  • Optionen und Features von Cloud Code kennenlernen
  • Details zu Cloud Code für Kubernetes-Anwendungen kennen
  • Lokale Emulatoren wie Minikube verwenden

Vorbereitung

  • Sie benötigen ein GCP-Projekt mit Bearbeitungsberechtigungen, ein GCP-Konto und Zugriff auf Cloud Shell
  • Für die optionalen Teile müssen ein Terminalemulator und das Google Cloud SDK installiert sein.

2. Einrichtung und Anforderungen

Umgebung zum selbstbestimmten Lernen einrichten

  1. Melden Sie sich in der Google Cloud Console an und erstellen Sie ein neues Projekt oder verwenden Sie ein vorhandenes Projekt. Wenn Sie noch kein Gmail- oder Google Workspace-Konto haben, müssen Sie eines erstellen.

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

bd84a6d3004737c5.png

  • Der Projektname ist der Anzeigename für die Projektteilnehmer. Es handelt sich um eine Zeichenfolge, die von Google APIs nicht verwendet wird. Sie können sie jederzeit aktualisieren.
  • Die Projekt-ID ist für alle Google Cloud-Projekte eindeutig und unveränderlich. Sie kann nach dem Festlegen nicht mehr geändert werden. Die Cloud Console generiert automatisch einen eindeutigen String. ist Ihnen meist egal, was es ist. In den meisten Codelabs musst du auf die Projekt-ID verweisen, die üblicherweise als PROJECT_ID gekennzeichnet ist. Wenn Ihnen die generierte ID nicht gefällt, können Sie eine weitere zufällige ID erstellen. Alternativ können Sie einen eigenen verwenden und nachsehen, ob er verfügbar ist. Sie kann nach diesem Schritt nicht mehr geändert werden und bleibt für die Dauer des Projekts bestehen.
  • Zur Information gibt es noch einen dritten Wert, die Projektnummer, die von manchen APIs verwendet wird. Weitere Informationen zu allen drei Werten finden Sie in der Dokumentation.
  1. Als Nächstes müssen Sie in der Cloud Console die Abrechnung aktivieren, um Cloud-Ressourcen/APIs verwenden zu können. Dieses Codelab sollte ohne großen Aufwand betrieben werden. Wenn Sie Ressourcen herunterfahren möchten, um über diese Anleitung hinaus keine Kosten zu verursachen, können Sie die von Ihnen erstellten Ressourcen oder das gesamte Projekt löschen. Neue Google Cloud-Nutzer haben Anspruch auf eine kostenlose Testversion von 300$.

3. Mit dem Cloud Shell-Terminal arbeiten

In diesem Abschnitt erfahren Sie mehr über das Cloud Shell-Terminal, wie Sie die Benutzeroberfläche verwenden und die Funktionen verwenden. Außerdem lernen Sie die Konfigurationsoptionen und verschiedene Möglichkeiten kennen, wie Sie damit Ihre Produktivität steigern können.

Cloud Shell hat zwei Haupttools: das Cloud Shell-Terminal und den Cloud Shell-Editor. In diesem Lab werden die Begriffe Cloud Shell-Terminal und Cloud Shell synonym verwendet. Der Editor wird jedoch immer als Cloud Shell-Editor bezeichnet, um den Terminalemulator und die IDE klar zu unterscheiden.

Cloud Shell ist eine voll funktionsfähige cloudbasierte Shell, die auf einem sitzungsspezifischen, Debian-basierten Linux-Rechner auf der Google Compute Engine basiert, der immer für Sie verfügbar ist. Es enthält das installierte Google Cloud SDK und mehrere relevante Tools wie git, kubectl, kubectx, curl, python3, tmux...

Ihr $HOME-Verzeichnis wird in Cloud Storage von Google Cloud beibehalten und bei jedem Start der Cloud Shell-Maschine automatisch bereitgestellt. So gehen keine Daten verloren, die Sie dort hinterlassen, selbst wenn die Cloud Shell-Maschine heruntergefahren wird. Wenn Sie Cloud Shell wieder aktivieren, stehen Ihnen also das Verzeichnis $HOME und alle daran vorgenommenen Anpassungen zur Verfügung.

Cloud Shell starten

  1. Rufen Sie console.cloud.google.com auf und geben Sie Ihre Google-Anmeldedaten ein, falls Sie nicht bereits in der GCP Console angemeldet sind. Die Haupt-UI der Google Cloud Platform Console wird angezeigt.
  2. Wählen Sie in der Menüleiste der Cloud Console die ID des GCP-Projekts aus, mit dem Sie arbeiten möchten:

a78258af94ed9ec3.png

  1. Die Schaltfläche zum Aktivieren von Cloud Shell finden Sie rechts in der Menüleiste neben dem Avatar Ihres Kontos:

5b4246f45b173ff4.png

  1. Klicken Sie auf das Cloud Shell-Symbol. Das Cloud Shell-Terminal wird geöffnet und direkt unter der Benutzeroberfläche der GCP Console wird ein neuer Bereich angezeigt:

8495f27a3ed0f05.png

In diesem Bereich befindet sich das sogenannte Cloud Shell-Terminal.

  1. Rufen Sie das Cloud Shell-Terminal auf. Wenn Sie in der GCP Console die richtige GCP-Projekt-ID ausgewählt haben, weiß Cloud Shell diese, sodass Sie sie nicht noch einmal angeben müssen:
echo $GOOGLE_CLOUD_PROJECT

Dadurch wird Ihre GCP-Projekt-ID ausgegeben, die auch in der Cloud Shell-Eingabeaufforderung angezeigt wird.

Zwischen Tools wechseln

Cloud Shell bietet Ihnen verschiedene Tools und Konfigurationsoptionen. Sehen Sie sich die Optionen im Cloud Shell-Menü an:

595834af08265e5c.png

  1. Klicken Sie in der Leiste auf die Schaltfläche 67bd0e39332a8438.png, um das Cloud Shell-Terminal zu maximieren und den gesamten Bereich Ihres Browsertabs zu belegen:

1197e3e9a36bc7aa.png

  1. Cloud Shell maximiert und belegt den gesamten Tabbereich des Browsers:

ecb227a1d39b8021.png

  1. Klicken Sie noch einmal darauf. Der Bereich auf dem Browsertab wird wieder von der Cloud Console und Cloud Shell gemeinsam genutzt.

Neue Tabs öffnen

Mit dem Cloud Shell-Terminal können Sie beliebig viele Tabs öffnen.

  1. Klicken Sie auf die folgende Schaltfläche und öffnen Sie einen neuen Tab.

e5757f88b64c7f5.png

  1. Schließen Sie nun den neuen Tab, indem Sie auf das x neben dem Namen des Tabs klicken oder exit in die entsprechende Shell eingeben:

8828238e04a14a20.png

Öffnen eines neuen Fensters

Wenn Sie Cloud Shell in einem neuen Browserfenster öffnen, befindet sich die Cloud Console in einem und Cloud Shell in einem anderen.

  1. Klicken Sie auf die folgende Schaltfläche und beobachten Sie, wie Cloud Shell in einem neuen Browsertab geöffnet wird:

bd407e51ae78d9fe.png

  1. Beachten Sie, dass Cloud Shell jetzt die gleichen Optionen für die Symbolleiste bietet, aber ein wenig anders aussieht:

4bce4507ce34a695.png

  1. Bleiben Sie in den nächsten Abschnitten auf diesem neuen Browsertab.

Sitzungen mit Tmux übertragen

tmux ist in Cloud Shell bereits integriert. Tmux ist ein beliebter Terminalmultiplexer, ähnlich wie GNU Screen. Durch die Integration in tmux kann Cloud Shell Ihre Sitzung unabhängig von Ihrem Standort bewahren.

In den folgenden Schritten üben Sie dieses Konzept, um die Funktion besser zu verstehen.

Verschieben des Cloud Shell-Terminals

  1. Geben Sie im gerade geöffneten Cloud Shell-Tab den Befehl top ein:

bdd80a3fdcc6c7db.png

Der Befehl „top“ bietet eine Echtzeitansicht der Prozesse, die im Cloud Shell-Terminal ausgeführt werden. Damit können Sie die Sitzungspersistenz in Cloud Shell von tmux visualisieren.

  1. Kehren Sie zum ersten Tab in Ihrem Browser zurück, in dem sich die Cloud Console befindet.
  2. Da Sie Cloud Shell in einem neuen Fenster öffnen möchten, wird die Meldung „Your session was transferred to another browser tab. You can disable this from the "Tmux Settings" option in the Cloud Shell settings menu.“ angezeigt.
  3. Klicken Sie auf die Schaltfläche zum erneuten Verbinden:

bdc5d5773296bcfe.png

Sie haben dann Zugriff auf die Shell, die im zweiten Tab ausgeführt wurde. Oben wird auch hier weiter wie gerade ausgeführt.

  1. Wechseln Sie im Browser zum zweiten Tab, in dem Sie Cloud Shell in einem neuen Fenster geöffnet haben.
  2. Klicken Sie auf Erneut verbinden. Sie stellen den obersten Prozess wieder so dar, wie er vor dem Schließen des Fensters ausgeführt wurde.

Fenster mit Tmux teilen

Tmux ist viel nützlicher als das, wofür Sie es gerade verwendet haben. Ein tmux-Tutorial wird in diesem Lab nicht behandelt. Weitere Informationen finden Sie im offiziellen tmux-Startleitfaden.

Durch tmux bietet Cloud Shell jedoch einige zusätzliche Funktionen, die in lokalen Terminalemulatoren verfügbar sind. Um eine zu demonstrieren, führen Sie einen Terminal-Split aus.

  1. Drücken Sie in Cloud Shell Ctrl + b und dann %
  2. Sehen Sie sich an, wie tmux einen neuen Bereich direkt neben dem Originalfenster erstellt:

717b047d71c8eeef.png

  1. Klicken Sie auf den zweiten Bereich und geben Sie exit ein.

Webvorschau verwenden

Cloud Shell kann auch die automatische Portweiterleitung von der in der Cloud ausgeführten Cloud Shell-Maschine über den lokalen Browser einrichten, der auf Ihrem Computer ausgeführt wird.

  1. Geben Sie in Cloud Shell Folgendes ein:
python3 -m http.server 8080
  1. Öffnen Sie oben rechts die Option Webvorschau und wählen Sie Vorschau auf Port 8080 aus:

a8363cafca79345.png

Daraufhin wird ein neuer Tab mit der Standardseite geöffnet, die über diesen Port bereitgestellt wird.

Sie können den Port ändern und eine Vorschau für den Port anzeigen, der von der Anwendung in Cloud Shell bereitgestellt wird, nicht nur für Port 8080.

Auf zusätzliche Cloud Shell-Optionen zugreifen

In Cloud Shell sind zusätzliche Einstellungen und Optionen verfügbar.

  1. Klicken Sie im Cloud Shell-Menü auf das Dreipunkt-Menü, um die Optionen aufzurufen:

a5c515c9df9284be.png

Die wichtigsten Optionen hier sind das Hoch- oder Herunterladen von Dateien in Cloud Shell und das Neustarten der Cloud Shell-Maschine, falls Probleme auftreten.

4. Mit dem Cloud Shell-Editor arbeiten

Eines der wichtigsten Funktionen von Cloud Shell ist der Cloud Shell-Editor. Dies ist eine vollwertige IDE, die auf dem Open-Source-Projekt Eclipse Theia basiert und unter anderem von Google unterstützt wird. Das Erscheinungsbild ist dem VSCode sehr ähnlich, da beide gängige Open-Source-Basiskomponenten verwenden, z. B. den Monaco-Editor, das Erweiterungsmodell, das Language Server Protocol und das Debug Adapter Protocol.

Da Theia/Cloud Shell-Editor ein ziemlich komplexes Tool ist, werden wir in diesem Lab nicht auf alle Funktionen des Cloud Shell-Editors eingehen. In diesem Abschnitt werden einige Kernkonzepte und einzigartigen Funktionen dieser Google Cloud-Implementierung vorgestellt.

Auf den Cloud Shell-Editor zugreifen

Sie haben drei Möglichkeiten, auf den Cloud Shell-Editor zuzugreifen:

  • Zugriff über die Befehlszeile
  • Zugriff über das Cloud Shell-Menü
  • Aufrufen einer URL in Ihrem Browser

Probieren Sie diese Methoden anhand der folgenden Schritte aus

  1. Öffnen Sie die .bashrc-Datei über die Befehlszeile mit dem folgenden Befehl:
cloudshell edit $HOME/.bashrc
  1. Öffnen Sie Cloud Shell über das Menü, indem Sie auf die Schaltfläche „Editor öffnen“ 6039dbc755bfca9f.png klicken: f493b9a98771b0af.png. Dadurch wird der Cloud Shell-Editor geöffnet, während das Cloud Shell-Terminal weiterhin geöffnet bleibt. Wenn Sie den gesamten Tab nur für den Cloud Shell-Editor sehen möchten, klicken Sie auf die Schaltfläche rechts neben der Schaltfläche „Bearbeiten“, um das Terminal zu schließen. Mit diesen beiden Schaltflächen („Editor öffnen/schließen“ und „Terminal öffnen/Schließen“) wird festgelegt, welches der Tools im Browsertab vorhanden ist. Üben Sie, auf beide zu klicken.
  2. Rufen Sie den Cloud Shell-Editor über die URL-Leiste im Browser auf,indem Sie ide.cloud.google.com eingeben.

Befehlszeile aus dem Cloud Shell-Editor verwenden

Obwohl das Cloud Shell-Terminal und der Cloud Shell-Editor im selben Browsertab nebeneinander vorhanden sind, können Sie auf das Cloud Shell-Terminal verzichten und stattdessen den Cloud Shell-Editor sowie das im Cloud Shell-Editor verfügbare Terminal für alle Ihre Anforderungen verwenden. Dies kann sinnvoll sein, wenn Sie sich in der IDE befinden und die verschiedenen Tastenkombinationen und Fensterdynamik von VSCode kennen.

Öffnen Sie den Cloud Shell-Editor mit einer der oben genannten Methoden. Öffnen Sie dann das Menü Editor und wählen Sie Terminal > Neues Terminal (oder drücken Sie auf der Tastatur „Strg + “). Im unteren Teil des Cloud Shell-Editors wird ein neuer Terminalbereich geöffnet, den Sie für alle Ihre Shell-Anforderungen verwenden können:

8b2c36f71e851c40.png

Dadurch haben Sie auch die Möglichkeit, verschiedene Terminalbereiche zu verwalten, ohne die tmux-Bereichsverwaltung wie beim Cloud Shell-Terminal verwenden zu müssen.

Cloud Shell-Einstellungen anpassen

Cloud Shell bietet verschiedene Anpassungsoptionen, zum grundlegenden Verhalten, der Startkonfiguration und dem detaillierten Betrieb des Cloud Shell-Terminals. In den folgenden Abschnitten erhalten Sie weitere Informationen zu den verschiedenen Optionen.

Öffnen Sie das Cloud Shell-Terminalmenü und klicken Sie auf das Zahnradsymbol. Es werden mehrere Konfigurationsoptionen angezeigt:

a473c985a434070b.png

Sehen Sie sich einige davon an:

  • Farbdesigns: Sie können die Farbpalette „Hell“ und „Dunkel“ oder eine Reihe benutzerdefinierter Farben (z. B. Schrift- und Hintergrundfarbe) festlegen.
  • Textgröße: 5 verschiedene Schriftgrößen zur Auswahl
  • Schriftart: Courier new oder Monospace
  • Einstellungen kopieren: Hier können Sie die Tastenkombination zum Kopieren so ändern, dass sie den Tastenkombinationen entspricht, die in den meisten gängigen Linux-Terminalemulatoren verwendet werden.
  • Tastatur: Zuordnung der Meta-Taste zur Alt-Taste (Standard: Meta ist ESC) und Zuordnung der Alt-Gr-Taste in einigen Betriebssystemen.

Shell-Umgebung konfigurieren

Als Terminalemulator, der eine Shell auf einem Debian-basierten Linux-Computer ausführt, können Sie Ihre Shell-Umgebung genauso wie in Linux anpassen. Daher werden alle in $HOME vorhandenen Konfigurationsdateien (z. B. .bashrc)) jedes Mal abgerufen, wenn ein neuer Anmelde-Shell-Prozess erstellt wird.

Mit Cloud Shell können Sie außerdem festlegen, welche Aktionen bei jedem Start der Cloud Shell-Instanz in einer speziellen Konfigurationsdatei namens .customize_environment ausgeführt werden sollen. Weitere Informationen dazu finden Sie in der Dokumentation zur Umgebungsanpassung.

Üben Sie, dem Cloud Shell-Terminal eine Konfiguration hinzuzufügen. Rufen Sie das Cloud Shell-Terminal auf und klonen Sie das folgende Beispielcode-Repository:

git clone https://gitlab.com/javiercanadillas/cloud-code-getting-started.git

Dieses Repository enthält Beispiele für die beiden Hauptereignisse, bei denen Sie Cloud Shell konfigurieren sollten:

  • Bei jedem Start der Cloud Shell-Instanz wird die Datei $HOME/.customize_environment gelesen. Das Ausführungslog für diesen Prozess findest du in /var/log/customize_environment. Nach erfolgreicher Ausführung wird eine /google/devshell/customize_environment_done erstellt.
  • Bei jedem Start eines neuen Shell-Prozesses (neues Fenster, neuer Tab usw.) die normalen Bash-Shell-Konfigurationsdateien gelesen werden.

Üben Sie mit beiden. Gehen Sie dazu so vor:

  1. Führen Sie den folgenden Befehl aus, um die vom Repository bereitgestellten Anpassungen zu starten:
cd cloud-code-getting-started
source set_env_cust.sh

Dadurch werden die beiden zuvor erwähnten Anpassungsoptionen eingerichtet und aktiviert.

  1. Beachten Sie die neue Shell-Eingabeaufforderung. Ein Bash-Skript aus der Datei .bash_profile hat diese neue Aufforderung konfiguriert, die kürzer als die Standardaufforderung ist und grundlegende Git-Informationen wie den ausgecheckten Branch oder den Git-Status enthält.
  2. Für den Befehl cloudshell edit gibt es jetzt einen neuen code-Alias, der kürzer ist. Damit können Sie den Inhalt der Datei .bash_profile ansehen:
code $HOME/.bash_profile
  1. Verwenden Sie den neu installierten Befehl bat, um den Inhalt der Datei .customize_environment anzuzeigen:
bat $HOME/.customize_environment

bat ist eine erweiterte Version des beliebten Unix-Tools „cat“. Die Ausgabe von bat zeigt hier den Befehl apt install, mit dem das Belastungstesttool hey jedes Mal neu installiert wird, wenn eine neue Cloud Shell-Maschine hochgefahren wird.

  1. Testen Sie, ob alles funktioniert, indem Sie in das Cloud Shell-Menü (das Dreipunkt-Menü oben rechts) klicken und Neu starten auswählen.

So können Sie das Cloud Shell-Zeitlimit und die Neuerstellung der Instanz simulieren und prüfen, ob alles richtig konfiguriert ist.

Cloud Shell-Container-Image anpassen

Mit dieser Anpassungsoption können Sie ein Docker-Image erstellen, das als benutzerdefinierte Cloud Shell-Umgebung mit zusätzlichen Paketen und benutzerdefinierten Konfigurationen fungiert. Durch das generierte Image wird eine vollständig sitzungsspezifische Cloud Shell-Instanz gestartet, sodass weder die Cloud Shell-VM noch das angehängte $HOME-Verzeichnis beibehalten wird. Diese Image-Erstellung ist jedoch nützlich für Anwendungsfälle, in denen Sie funktionsspezifischen Cloud Shell-Instanzen an Drittanbieter bereitstellen müssen, damit diese eine bestimmte Aufgabe möglichst effizient ausführen können.

Anstatt die Umgebung wie im vorherigen Abschnitt anzupassen, werden die Änderungen in einem neuen Image übernommen, das zum Starten von Cloud Shell verwendet wird. Dies hat offensichtliche Vorteile, da Ihre benutzerdefinierte Cloud Shell schneller gestartet wird.

Neues Cloud Shell-Image erstellen

  1. Starten Sie die Erstellung des Cloud Shell-Container-Images. Geben Sie dazu im Cloud Shell-Terminal Folgendes ein:
cloudshell env create-custom-image custom-cloud-shell
cd custom-cloud-shell

Dadurch werden in Cloud Shell ein neues Verzeichnis und ein neues Cloud Source Repositories-Repository mit demselben Namen zum Hosten Ihres Codes erstellt. Außerdem wird eine Beispiel-Dockerfile im $HOME/custom-cloud-shell/ directory geklont.

  1. Fügen Sie der letzten Zeile des Dockerfile die Zeile RUN apt install -y hey hinzu:
echo "RUN apt install -y hey" >> $HOME/custom-cloud-shell/Dockerfile

Dadurch wird die Anpassung eingerichtet, die auch in .customize_environment festgelegt wurde, aber in einem Container verankert.

  1. Erstellen Sie das Image lokal:
cloudshell env build-local
  1. Testen Sie das neue Image, indem Sie den folgenden Befehl ausführen:
cloudshell env run

Sie befinden sich jetzt in einer Shell innerhalb des Images.

  1. Testen Sie, ob der Befehl hey installiert ist, indem Sie ihn ausführen:
hey
  1. Geben Sie abschließend exit ein, um den Container zu verlassen:
exit
  1. Übertragen Sie die Änderungen per Push in das Cloud Source Repository und das Image in Container Registry:
git commit -a -m "Initial commit"
git push origin master
cloudshell env push

Neues Image testen

  1. Machen Sie das Image öffentlich verfügbar, damit Sie es verwenden können:
gsutil iam ch allUsers:objectViewer $(gsutil ls)
  1. Generieren Sie eine URL, mit der Sie Ihre veröffentlichte benutzerdefinierte Cloud Shell-Instanz testen können:
echo "https://ssh.cloud.google.com/cloudshell/editor?cloudshell_image=gcr.io/$GOOGLE_CLOUD_PROJECT/custom-cloud-shell"
  1. Kopieren Sie die Ausgabe-URL und fügen Sie sie in einem neuen Browsertab ein. Die benutzerdefinierte Cloud Shell-Instanz wird geöffnet. Beachten Sie, dass beim Zugriff auf die Instanz Banner angezeigt werden, die darauf hinweisen, dass Sie den kompletten flüchtigen Modus nutzen:

bc091a4c33649aa9.png

  1. Testen Sie das Image noch einmal mit dem Befehl „Hey“
hey
  1. exit: Wechseln Sie anschließend zum Tab, auf dem die reguläre Cloud Shell geöffnet wurde, und klicken Sie auf Wieder verbinden.

Remote-Zugriff auf Cloud Shell mit SSH

Sie können Cloud Shell-Funktionen auch per Fernzugriff von Ihrem lokalen Computer aus verwenden. Dies umfasst in der Regel zwei verschiedene Anwendungsfälle:

  • SSH-Verbindung zu Cloud Shell von Ihrem lokalen Terminal aus herstellen
  • Das Cloud Shell-Remote-Verzeichnis $HOME wird lokal bereitgestellt.

Dazu muss das Google Cloud SDK lokal installiert sein. Außerdem müssen Sie ihn mit Ihrer Projekt-ID und den von Ihnen verwendeten Anmeldedaten konfigurieren.

Führen Sie die folgenden Schritte über einen Terminalemulator aus, der auf Ihrem lokalen Computer ausgeführt wird:

  1. Richten Sie die GCP-Projekt-ID ein und melden Sie sich mit den Anmeldedaten für die Cloudorganisation an, in der sich Ihre Cloud Shell befindet.
gcloud config set project <your project id>
gcloud auth login
  1. Stellen Sie eine SSH-Verbindung zur Cloud Shell-Remote-Maschine her:
gcloud cloud-shell ssh --authorize-session

Sie befinden sich jetzt in Cloud Shell, verwenden aber die Funktionen und die Konfiguration Ihres lokalen Terminalemulators. Wenn Ihr Gerät tmux unterstützt, können Sie weitere Integrationen nutzen, um Remote-Funktionen zu optimieren.

Cloud Shell-Basisverzeichnis vom lokalen Computer aus bereitstellen

Die Möglichkeit, eine SSH-Verbindung zur Cloud Shell-Remoteinstanz herzustellen, ist zwar schön, noch besser ist es aber, wenn Ihre lokale IDE Zugriff auf das Remoteverzeichnis $HOME von Cloud Shell hat. Auf diese Weise können Sie den zuvor gezeigten SSH-Zugriff mit der Möglichkeit kombinieren, Remote-Code lokal zu bearbeiten.

Erstellen Sie dazu auf Ihrem lokalen Computer zuerst einen Bereitstellungspunkt:

mkdir $HOME/cloudshell

Dies ist das Verzeichnis, in dem Ihre Cloud Shell bereitgestellt wird. Starten Sie die Cloud Shell-Instanz und geben Sie dann Folgendes im lokalen Terminal ein:

$(gcloud cloud-shell get-mount-command $HOME/cloudshell)
cd $HOME/cloudshell

Dadurch wird der Bereitstellungsbefehl abgerufen, den Sie ausführen müssen, um Cloud Shell lokal bereitzustellen. Der Inhalt Ihres Cloud Shell-Basisverzeichnisses wird auf Ihrem lokalen Computer bereitgestellt.

Jetzt können Sie lokal eine IDE wie VSCode und einen Remote-Arbeitsbereich in der Cloud öffnen. Gleichzeitig können Sie über den SSH-Zugriff auf Cloud Shell einen Terminalbereich in der IDE öffnen, um auch ein Remote-Terminal in Ihre lokale IDE einzubinden.

5. Cloud Code verwenden

Cloud Code ist ein von Google entwickeltes Plug-in, das es Entwickelnden ermöglicht, effektiver mit cloudbasierten Tools zu arbeiten. Es ist in mehreren IDEs und Code-Editoren verfügbar, z. B. in VSCode- und Jetbrains-Produkten. Außerdem ist es standardmäßig in den Cloud Shell-Editor eingebunden. Cloud Code bietet viele entwicklerfreundliche Funktionen, mit denen Sie in den nächsten Schritten üben werden.

Cloud Code im Cloud Shell-Editor finden

Verwenden der Schnellzugriffsschaltflächen

Im linken Bereich des Editors sind die folgenden vier Schaltflächen zu sehen:

de0b6c69b590d21b.png

Diese Menüpunkte ermöglichen den einfachen Zugriff und die Konfiguration auf GCP-Dienste direkt über den Cloud Shell-Editor.

In diesem Lab liegt der Fokus auf den Kubernetes-Clustern.

Statusleiste verwenden

Es gibt zwei relevante zusätzliche Bereiche von Cloud Cloud, die über die Benutzeroberfläche des Cloud Shell-Editors verfügbar sind. In der unteren Leiste des Editors sehen Sie beides:

f04c703ff45b05a.png

  • &lt;&gt; Cloud Code: Wenn Sie hier klicken, wird ein Schnellaktionsmenü eingeblendet, das Sie in dieser Anleitung verwenden werden: 58a3f8940f6263ae.png
  • Minikube steuern: Damit steuern Sie den lokalen Kubernetes-Emulator Minikube mit grundlegenden Aktionen wie dem Starten oder Beenden des Clusters.

Minikube-Instanz erstellen

Erstellen Sie jetzt über die Schaltfläche eine Minikube-Instanz.

540da42dd52e1469.png

GKE-Cluster mit Cloud Code erstellen

  1. Klicken Sie links auf das Symbol Cloud Code - Kubernetes Clusters ( 5ffab5cb541da6.png). Daraufhin wird links ein neues Fenster mit dem Namen CLOUD CODE – KUBERNETES: CLUSTERS angezeigt.
  2. Klicken Sie neben CLOUD CODE – KUBERNETES: CLUSTERS (CLOUD CODE – KUBERNETES: CLUSTERS) auf die Schaltfläche + und wählen Sie Google Kubernetes Engine aus. Hinweis: Sie können auch andere Optionen wie die Minikube auswählen, die Sie zuvor gestartet haben:

e7a81607c1bc7c55.png

  1. Klicken Sie auf Neuen GKE-Cluster erstellen. Mit dieser Option wird ein neuer Bereich auf der rechten Seite geladen, in dem Sie zusätzliche Informationen eingeben können, um schnell einen Entwicklungscluster zu erstellen. Folgen Sie der Anleitung im Steuerfeld und geben Sie die folgenden Informationen ein:
  • Autopilot auswählen
  • Region auswählen (europe-west-1)
  • Geben Sie dem Cluster den Namen "dev"
  1. Klicken Sie auf die Schaltfläche Cluster erstellen. Dadurch wird ein neuer Autopilot-Cluster erstellt.

Die Clustererstellung kann nicht fünf bis fünf Minuten dauern. Während der Cluster erstellt wird, können Sie sich den Kubernetes-Bereich von Cloud Code genauer ansehen.

Cloud Code Kubernetes-Bereich kennenlernen

Sie haben zuvor einen Minikube-Cluster erstellt. Wenn er bereit ist, wird er im Kubernetes-Bereich von Cloud Code mit dem von Ihnen festgelegten Namen minikube angezeigt:

b654e618f78de3b3.png

Der Cluster wird in der UI als AKTIV angezeigt. Diese Einstellung wird mit dem aktuellen Kubernetes-Kontext in der Befehlszeile synchronisiert. .

Im Kubernetes-Bereich von Cloud Code wird Folgendes angezeigt:

  • Die KubeConfig-Standarddatei: Cloud Code liest die Datei ~/.kube/config für Ihren Nutzer und verwendet sie, um eine Verbindung zu den dort konfigurierten Kubernetes-Clustern herzustellen, damit Sie einfach darin navigieren können. Sie können die Kubeconfig-Datei bearbeiten, indem Sie den Mauszeiger auf die Zeile Default Kubeconfig bewegen und dann auf das Quadrat mit dem Pfeil für ausgehenden Traffic daneben klicken.
  • Durchsuchbare Darstellung der verschiedenen Objekte Ihrer registrierten Cluster: In diesem Fall sehen Sie den minikube-Minikube-Cluster, den Sie zuvor mit seinen Kontexten, Namespaces und Knoten erstellt haben. Erweitern Sie nun einige Knoten des Baums. Es gibt noch keine Pods, da Sie keine Anwendung bereitgestellt haben.

Sobald der neue GKE-Cluster einsatzbereit ist, wird er im linken Bereich zusammen mit dem Minikube-Cluster minikube angezeigt. Sie können mit der rechten Maustaste auf einen Cluster klicken und ihn auf „aktiv“ setzen. im Sinne der Auswahl des Clusters für eine der Cloud Code-Aktionen, die Sie starten können:

8e4306c3ce707ef8.png

6. Glückwunsch!

Glückwunsch, du hast das Codelab abgeschlossen.

Behandelte Themen

  • Sie haben sich mit den Hauptfunktionen von Cloud Shell vertraut gemacht
  • Mit verschiedenen Cloud Shell-Nutzungsmustern geübt
  • Cloud Shell-Umgebung für die erweiterte Verwendung angepasst
  • Sie waren mit den Optionen und Features von Cloud Code vertraut
  • Details zu Cloud Code für Kubernetes-Anwendungen geprüft
  • Lokale Emulatoren wie Minikube verwenden