Architektur von Cloud Workstations

Cloud Workstations verwaltet Google Cloud-Ressourcen wie Compute Engine VMs und nichtflüchtigen Speicher (PDs), 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. Genauso können Sie VMs können Sie nahtlos auf Ressourcen in Ihrem VPC-Netzwerk.

Das folgende Diagramm veranschaulicht 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 Workstationcluster enthält zwei Komponenten, die von Google Cloud: ein Controller und ein Gateway.

  • Controller: verwaltet den Lebenszyklus der VM Instanzen und andere Workstation-Ressourcen innerhalb Ihres Projekts.

    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 Funktionen von Workstationclustern sind:

  • 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 eine vollständig private Gateway, sodass haben nur Endpunkte innerhalb Ihres privaten Netzwerks Zugriff auf Cloud Workstations.

VPC-Netzwerk

Beim Erstellen eines Workstationclusters geben Sie ein Projekt und ein VPC-Netzwerk zum Hosten der Ressourcen. 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 Ihrer Projekt und VPC nach dem Start einer Workstation zu überprüfen. Diese VM ist automatisch am Ende einer Nutzersitzung oder nach einem konfigurierbaren Timeout für Sitzungen.

    • 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 mit gängigen IDEs und Sprachtools vorkonfiguriert. Außerdem Administratoren und Plattformteams können ihre Umgebungen Benutzerdefinierte Container-Images erstellen und festlegen die alle notwendigen 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 ist im Ordner /home bereitgestellt, sodass Daten und Dateien gespeichert werden können nach dem Ende der Sitzung.

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 auf Ihrer Workstation Konfiguration.

Beim Start einer Workstation führt Cloud Workstations Folgendes aus:

  1. Erstellt eine VM.
  2. Das Workstation-Container-Image wird per Pull auf die VM übertragen.
  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 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.

Ressourcen-Pooling

Administratoren und Plattformteams können optional VMs und nichtflüchtige Speicher in einem Pool zusammenfassen. für einen schnelleren Start der Workstation pool size Workstation Konfigurationsoption. Wenn dieses Flag angegeben ist, erstellt der Dienst die angegebene Anzahl von nichtflüchtige Speicher und VMs an und zieht das Container-Image vorab auf die VM, Workstation-Zuweisung. Nicht zugewiesene VMs und Laufwerke im Pool werden automatisch gelöscht und alle 12 Stunden neu erstellt. Dies ermöglicht einen schnelleren Start der Workstation indem Sie die Wartezeit für das Erstellen von VMs und Abrufen des Container-Images entfernen auf die VM übertragen.

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

  1. Wählt eine VM aus dem Pool aus, in dem das Container-Image vorab abgerufen wurde.
  2. Beim ersten Start der Workstation wird ein nichtflüchtiger Speicher ausgewählt aus dem Pool.
  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. Füllt den Pool auf, indem eine neue VM und ein nichtflüchtiger Speicher erstellt werden, um diese zu ersetzen die zugewiesen wurden.

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

Um zu erzwingen, dass eine Poolaktualisierung die Container-Image-Aktualisierungen sofort abholt, Administratoren können die pool_size auf 0 setzen und dann wieder auf die pool_size bevorzugt. Deaktivieren Sie in der Google Cloud Console die Schnellstart-Workstations in der Workstationkonfiguration die Option Konfiguration, setzen Sie sie auf die gewünschte Zahl zurück und speichern Sie erneut.

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 der Workstation mit Image-Streaming reduzieren

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

Image-Streaming in Cloud Workstations reduziert in der Regel das Abrufen von Container-Images Zeit von Minuten bis Sekunden und Workstationcontainer in der Regel ausgeführt werden, ohne auf den Download des gesamten Images warten zu müssen.

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-Kommandozeilenbefehl ausführen, um Aktivieren Sie die Container File System API im Hostprojekt der Workstation:

    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 auf Ihrer Workstation angeben Konfiguration.

  • 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 vom Image-Streaming zukünftigen Images auf einer Workstation.

  • Weitere Einschränkungen für das GKE-Image-Streaming angewendet werden.