Architektur von Cloud Workstations

Cloud Workstations verwaltet Google Cloud-Ressourcen wie Compute Engine VMs und nichtflüchtigen Speicher (PDs) verwenden, um Ihnen mehr Transparenz und Kontrolle über die Ressourcen. Beispielsweise können Sie einen geplanten Laufwerk-Snapshot Richtlinien, die durchgesetzt werden, für alle Workstations PDs sichern. Wenn sich VMs in Ihrem Projekt befinden, können Sie auch nahtlos auf Ressourcen in Ihrem VPC-Netzwerk zugreifen und diese verwalten.

Das folgende Diagramm zeigt die Architektur von Cloud-Workstations.

Architektur
Diagramm

Abbildung 1. Cloud Workstations-Architektur

Workstationcluster

Ein Workstationcluster enthält und verwaltet eine Sammlung von Workstations in einem Einzelne Cloud-Region und VPC in Ihrem Projekt arbeiten. Jeder Workstation-Cluster umfasst zwei Komponenten, die von Google Cloud verwaltet werden: einen Controller und ein Gateway.

  • Controller: Verwaltet den Lebenszyklus von VM-Instanzen und anderen Workstation-Ressourcen in Ihrem Projekt.

    Die Controller nutzen die Compute Engine API, um den Lebenszyklus Ressourcen zu finden und Private Service Connect den Traffic an die Workstations weiterzuleiten, VMs

  • Gateway: empfängt Traffic von Clients, die für bestimmte und leitet den Traffic an die entsprechende VM-Instanz weiter. Jedes Workstationcluster einen eindeutigen Domainnamen hat und jede Workstation die in einer Subdomain der Domain des Workstationclusters erreicht werden, z. B. $WORKSTATION_ID.$CLUSTER_ID.cloudworkstations.dev

Weitere Merkmale von Workstation-Clustern:

  • Administratoren und Plattformteams erstellen Workstationcluster, die Eine Gruppe von Workstations in einer bestimmten Region und der VPC mit dem sie verbunden sind.

  • Workstationcluster haben keinen Bezug zu Google Kubernetes Engine (GKE) Cluster.

  • Jeder Workstationcluster hat einen dedizierten Controller, der mit einem VPC, in der sich Workstations mit befinden Private Service Connect Dies hat keine Auswirkungen auf die Limits für VPC-Peering. Dieses verwaltet der Controller die Ressourcen der Workstations während des gesamten Lebenszyklus stellt ausgehenden und eingehenden Netzwerktraffic zu den Workstations über eine öffentliche Clustergateway.

  • Für jede Cloud-Region ist mindestens ein Workstationcluster erforderlich.

  • Bei Bedarf können Sie auch ein vollständig privates Gateway aktivieren, damit nur Endpunkte innerhalb Ihres privaten Netzwerks auf Cloud-Arbeitsstationen zugreifen können.

VPC-Netzwerk

Wenn Sie einen Workstation-Cluster erstellen, geben Sie ein Projekt und ein VPC-Netzwerk an, in dem die Ressourcen gehostet werden sollen. Cloud Workstations stellt dann die folgenden Ressourcen in Ihrem Projekt bereit:

  • Private Service Connect: stellt eine Verbindung zwischen dem Cloud Workstations-Controller und Ihre VPC, die Erstellung von Ressourcen innerhalb Ihres Projekts.

  • VM-Instanz: Eine Compute Engine-VM wird dynamisch in Ihrem Projekt und VPC erstellt, nachdem eine Workstation gestartet wurde. Diese VM wird am Ende einer Nutzersitzung oder nach einem konfigurierbaren Zeitlimit für die Sitzung automatisch gelöscht.

    • VM Gateway: ruft den Clienttraffic vom Workstationcluster ab Gateway, authentifiziert und autorisiert es und leitet es an den Container.

    • Container: Definiert die auf einer Workstation vorinstallierten Tools, z. B. der IDE oder dem Code-Editor und anderen Programmen oder Einstellungen, wie in den die Konfiguration der Workstation.

      Cloud Workstations bietet eine Reihe von Basis-Images, die mit gängigen IDEs und Sprachtools vorkonfiguriert sind. Außerdem Administratoren und Plattformteams können ihre Umgebungen Benutzerdefinierte Container-Images erstellen und festlegen die alle Tools enthalten, um die Anforderungen ihrer Entwickler Anforderungen. Diese Container-Images das Cloud Workstations-Basis-Image erweitern können neue, benutzerdefinierte Linux-Container-Images sein, die vom Plattformteam erstellt wurden.

  • Nichtflüchtiger Speicher: Ein nichtflüchtiger Speicher, der an die Workstation-VM angehängt und auf den Ordner /home bereitgestellt wird, sodass Daten und Dateien nach dem Ende der Sitzung gespeichert werden können.

Ressourcenlebenszyklus

Cloud Workstations verwaltet VMs, Container-Images und nichtflüchtige Speicher zur Verwendung als Laufzeitumgebung für jede Workstation. Konfigurieren Sie die Spezifikationen für diese Ressourcen in Ihrer Workstation-Konfiguration.

Wenn eine Workstation gestartet wird, führt Cloud Workstations folgende Schritte aus:

  1. Erstellt eine VM.
  2. Das Workstation-Container-Image wird auf die VM gezogen.
  3. Beim ersten Start der Workstation wird ein nichtflüchtiger Speicher erstellt als Verzeichnis /home der Workstation.
  4. Der nichtflüchtige Speicher wird an die VM angehängt.
  5. Startet den Container auf der VM und stellt den nichtflüchtigen Speicher auf der /home-Verzeichnis im Container.

Wenn die Sitzung endet, löscht Cloud Workstations die VM, trennt aber die Verbindung und Der nichtflüchtige Speicher wird beibehalten, sodass er auf der zukünftigen Workstation verwendet werden kann. Sitzungen. Der Workstation-Dienst behält das Laufwerk so lange bei, bis die Workstation gelöscht wird. In diesem Fall wird auch der nichtflüchtige Speicher gelöscht, es sei denn, er wurde optional so konfiguriert, dass er beibehalten wird.

Ressourcen-Pooling

Administratoren und Plattformteams können VMs und persistente Laufwerke optional für einen schnelleren Workstation-Start mit der Workstation-Konfigurationsoption Poolgröße gruppieren. Wenn dieses Flag angegeben ist, erstellt der Dienst die angegebene Anzahl von nichtflüchtige Speicher und VMs erstellen und das Container-Image vorab auf die VM ziehen Workstation-Zuweisung. Nicht zugewiesene VMs und Laufwerke im Pool werden alle 12 Stunden automatisch gelöscht und neu erstellt. Dadurch wird der Start der Workstation beschleunigt, da die Wartezeit für das Erstellen von VMs und das Abrufen des Container-Images auf die VM entfällt.

Wenn Pooling aktiviert ist, geht Cloud Workstations beim Starten eines Workstation:

  1. Wählt eine VM aus dem Pool aus, für die das Container-Image bereits zuvor abgerufen wurde.
  2. Beim ersten Start der Workstation wird ein nichtflüchtiger Datenträger aus dem Pool ausgewählt.
  3. Der nichtflüchtige Speicher wird an die VM angehängt.
  4. Startet das Container-Image auf der VM und stellt den nichtflüchtigen Speicher auf dem Verzeichnis /home im Container-Image.
  5. Der Pool wird wieder aufgefüllt, indem eine neue VM und ein neuer nichtflüchtiger Speicher erstellt werden, um die zugewiesenen zu ersetzen.

Wenn die Sitzung endet, löscht Cloud Workstations die VM, trennt aber den nichtflüchtigen Speicher und behält ihn, damit er in zukünftigen Workstation-Sitzungen verwendet werden kann. Der Workstationdienst behält das Laufwerk bei, bis die Workstation gelöscht wird. Zu diesem Zeitpunkt wird auch der nichtflüchtige Speicher gelöscht – es sei denn, er ist optional beibehalten werden sollen.

Container-Image-Updates

Da das Container-Image der Workstation vorab auf die gemeinsamen VMs geladen wird, Aktualisierungen am Container-Image, die im Remote-Image-Repository vorgenommen wurden, mit denselben Image-Tags werden erst ausgewählt, wenn alle gemeinsamen VMs zugewiesen wurden oder werden nach 12 Stunden gelöscht. Dann werden neue VMs erstellt, um den Pool aufzufüllen. und rufen Sie das aktualisierte Container-Image ab.

Wenn Administratoren eine Poolaktualisierung erzwingen möchten, damit die Container-Image-Aktualisierungen sofort übernommen werden, können sie die pool_size auf 0 und dann wieder auf die gewünschte pool_size zurücksetzen. Deaktivieren Sie in der Google Cloud Console in der Workstation-Konfiguration die Funktion Workstations schnell starten, speichern Sie die Konfiguration, stellen Sie die gewünschte Anzahl wieder her und speichern Sie die Konfiguration noch einmal.

Alternativ können Administratoren und Plattformteams das Image-Tag im container.image in der Workstationkonfiguration hinzugefügt, mit dem eine Aktualisierung des Pools das neue Container-Image-Tag abrufen.

Startzeit von Workstations mit Image-Streaming verkürzen

Cloud Workstations unterstützt Image-Streaming, was eine schnellere Startzeit der Workstation durch Reduzierung der Abrufzeit des Workstation-Container-Images.

Durch das Image-Streaming in Cloud Workstations wird die Abrufzeit von Container-Images in der Regel von Minuten auf Sekunden reduziert. Workstation-Container werden in der Regel gestartet, ohne dass auf den Download des gesamten Images gewartet werden muss.

Voraussetzungen

Sie müssen die folgenden Anforderungen erfüllen, um das Bildstreaming in Cloud Workstations:

  • Sie müssen die Container File System API im Hostprojekt der Workstation aktivieren.

    Container File System API aktivieren

    Alternativ können Sie den folgenden gcloud-Befehlszeilenbefehl ausführen, um die Container File System API im Workstation-Hostprojekt zu aktivieren:

    gcloud services enable containerfilesystem.googleapis.com
    

  • Ihre Container-Images müssen in Artifact Registry gespeichert sein.

  • Das Artifact Registry-Repository muss sich im selben Region als Cloud Workstations-Region oder in einer mehrere Regionen die der Region entspricht, in der Ihre Workstations ausgeführt werden.

  • Sie müssen ein Dienstkonto für die Verwendung in Ihrer Workstationkonfiguration angeben.

  • Wenn sich der Cluster in einem VPC Service Controls-Perimeter befindet, müssen Sie einen Ausgangsregel damit Ihr Dienstkonto auf die Container File System API zugreifen kann, das Projekt, das das Container-Image hostet. Wenn Sie eine vorkonfigurierten IDE haben, müssen Sie das Projekt cloud-workstations-images (Projektnummer 662288601415) auf die Zulassungsliste setzen.

Beschränkungen

  • Möglicherweise bemerken Sie die Vorteile des Image-Streamings beim ersten Abrufen eines zulässigen Images nicht. Nachdem beim Bild-Streaming profitieren Sie vom Image-Streaming.

  • Es gelten weitere Einschränkungen für das GKE-Image-Streaming.