Architecture Cloud Workstations

Cloud Workstations gère les ressources Google Cloud, telles que les VM Compute Engine et les disques persistants, pour vous offrir plus de visibilité et de contrôle sur les ressources de vos projets. Par exemple, vous pouvez configurer des instantanés de disque programmés des règles qui s'appliquent des règles de sauvegarde pour tous les disques persistants des stations de travail. De même, la présence de VM dans votre projet vous permet d'accéder et de gérer facilement les ressources de votre réseau VPC.

Le schéma suivant illustre l'architecture de Cloud Workstations.

L'architecture
diagramme

Figure 1. Architecture Cloud Workstations

Cluster de stations de travail

Un cluster de stations de travail contient et gère un ensemble de stations de travail dans un région cloud unique et le VPC réseau dans votre projet. Chaque cluster de stations de travail comprend deux composants gérés par Google Cloud: un contrôleur et une passerelle.

  • Contrôleur : gère le cycle de vie des instances de VM et d'autres ressources de la station de travail dans votre projet.

    Ils utilisent l'API Compute Engine pour gérer le cycle de vie les ressources et utiliser Private Service Connect pour acheminer le trafic vers les stations de travail à l'aide de VM.

  • Passerelle:reçoit le trafic des clients à destination des postes de travail, et transfère le trafic vers l'instance de VM appropriée. Chaque cluster de stations de travail possède un nom de domaine unique, et chaque station de travail peut être accessible via un sous-domaine du domaine du cluster de stations de travail (par exemple, $WORKSTATION_ID.$CLUSTER_ID.cloudworkstations.dev).

Les autres caractéristiques des clusters de stations de travail sont les suivantes:

  • Les administrateurs et les équipes de plate-forme créent des clusters de stations de travail, qui définissent un groupe de stations de travail dans une région particulière et le VPC réseau auquel ils sont connectés.

  • Les clusters de stations de travail ne sont pas liés aux clusters Google Kubernetes Engine (GKE).

  • Chaque cluster de stations de travail dispose d'un contrôleur dédié connecté à un VPC dans lequel les stations de travail résident avec Private Service Connect (ce qui n'a aucun impact sur les limites d'appairage VPC). Ce contrôleur gère les ressources des stations de travail tout au long de leur cycle de vie et fournit un accès au réseau en entrée et en sortie aux stations de travail via une passerelle de cluster publique.

  • Chaque région cloud nécessite au moins un cluster de stations de travail.

  • Si nécessaire, il est également possible d'activer un accès privé passerelle, de sorte que seuls les points de terminaison de votre réseau privé ont accès Cloud Workstations.

Réseau VPC

Lors de la création d'un cluster de stations de travail, vous spécifiez un projet et un pour héberger les ressources. Cloud Workstations provisionne ensuite les ressources suivantes dans votre projet:

  • Private Service Connect : établit une connexion entre le contrôleur des stations de travail Cloud et votre VPC, ce qui permet de créer des ressources dans votre projet.

  • Instance de VM : une VM Compute Engine est créée dynamiquement dans votre projet et votre VPC après le démarrage d'une station de travail. Cette VM est automatiquement supprimés à la fin d'une session utilisateur ou après une configuration délai avant expiration de la session.

    • Passerelle de VM: extrait le trafic client du cluster de stations de travail l'authentifie et l'autorise, puis la transfère au conteneur.

    • Conteneur: définit les outils préinstallés sur un poste de travail, tels que l'IDE ou l'éditeur de code, et tout autre programme ou paramètre spécifié par la configuration de la station de travail.

      Cloud Workstations fournit un certain nombre d'images de base préconfigurés avec des IDE et des outils de langage courants. De plus, les administrateurs et les équipes de plate-forme peuvent personnaliser leurs environnements en créant et en spécifiant des images de conteneurs personnalisées contenant les outils nécessaires pour répondre aux besoins de leurs développeurs. Ces images de conteneur peuvent étendre l'image de base de Cloud Workstations ou être de nouvelles images de conteneur Linux personnalisées créées par l'équipe de la plate-forme.

  • Disque persistant : disque persistant associé à la VM de la station de travail et installé sur le dossier /home, ce qui permet de stocker des données et des fichiers après la fin de la session.

Cycle de vie des ressources

Cloud Workstations gère les VM, les images de conteneurs et les disques persistants à utiliser l'environnement d'exécution pour chaque station de travail. Configurez les spécifications de ces ressources dans la configuration de votre station de travail.

Lorsqu'une station de travail est démarrée, Cloud Workstations effectue les opérations suivantes :

  1. crée une VM ;
  2. extrait l'image du conteneur de la station de travail sur la VM ;
  3. La première fois que la station de travail est démarrée, un disque persistant est créé. pour servir de répertoire /home de la station de travail.
  4. Associe le disque persistant à la VM.
  5. Démarre le conteneur sur la VM et installe le disque persistant dans le répertoire /home du conteneur.

À la fin de la session, Cloud Workstations supprime la VM, mais dissocie et conserve le disque persistant pour pouvoir l'utiliser sur la future station de travail sessions. Le service de station de travail conserve le disque jusqu'à ce que la station de travail soit supprimée, auquel cas le disque persistant est également supprimé, sauf s'il est configuré pour être conservé.

Pooling des ressources

Les administrateurs et les équipes de plate-forme peuvent éventuellement mettre en pool des VM et des disques persistants pour accélérer le démarrage de la station de travail à l'aide de l'option de configuration de la station de travail Taille du pool. Si spécifié, le service regroupe le nombre spécifié de disques persistants et VM, et extrait l'image de conteneur sur la VM avant l'affectation des stations de travail. Les VM et les disques non attribués du pool sont automatiquement supprimés et recréés toutes les 12 heures. Cela permet un démarrage plus rapide de la station de travail en supprimant le temps d'attente nécessaire à la création de VM et en extrayant l'image de conteneur sur la VM.

Lorsque le pool est activé, Cloud Workstations procède comme suit au démarrage d'une station de travail :

  1. Sélectionne une VM du pool dont l'image de conteneur a été prétirée.
  2. La première fois que la station de travail est démarrée, sélectionne un disque persistant. de la piscine.
  3. Associe le disque persistant à la VM.
  4. Démarre l'image de conteneur sur la VM et monte le disque persistant sur le répertoire /home dans l'image de conteneur.
  5. Il remplit le pool en créant une VM et un disque persistant pour les remplacer qui ont été attribuées.

À la fin de la session, Cloud Workstations supprime la VM, mais dissocie et conserve le disque persistant pour pouvoir l'utiliser sur la future station de travail sessions. Le service stations de travail conserve le disque jusqu'à ce que la station de travail soit après quoi le disque persistant est également supprimé, sauf s'il n'est pas éventuellement configurées pour être conservées.

Mises à jour des images de conteneurs

Étant donné que l'image du conteneur de la station de travail est pré-extraite sur les VM mises en pool, les mises à jour de l'image du conteneur effectuées dans le dépôt d'images distant avec le même tag d'image ne sont pas détectées tant que toutes les VM mises en pool n'ont pas été attribuées ou supprimées au bout de 12 heures. À ce stade, de nouvelles VM sont créées pour reconstituer le pool et extraire l'image du conteneur mise à jour.

Pour forcer un rafraîchissement du pool afin de récupérer immédiatement les mises à jour de l'image du conteneur, les administrateurs peuvent définir pool_size sur 0, puis le rétablir sur le pool_size souhaité. Dans la console Google Cloud, désactivez la fonctionnalité Stations de travail à démarrage rapide dans la configuration de la station de travail, enregistrez la configuration, rétablissez le nombre souhaité, puis enregistrez à nouveau.

Les administrateurs et les équipes en charge de la plate-forme peuvent également modifier le tag d'image dans le container.image dans la configuration de la station de travail, ce qui force une actualisation du pool à sélectionnez la nouvelle balise d'image de conteneur.

Réduire le temps de démarrage de la station de travail avec le streaming d'images

Cloud Workstations est compatible avec le streaming d'images, qui accélère le démarrage de la station de travail en réduisant le temps d'extraction de l'image du conteneur de la station de travail.

Le streaming d'images dans Cloud Workstations réduit généralement le temps d'extraction des images de conteneur de minutes à secondes, et les conteneurs de la station de travail démarrent généralement sans attendre le téléchargement de l'image entière.

Conditions requises

Vous devez remplir les conditions suivantes pour utiliser le streaming d'images dans Cloud Workstations:

  • Vous devez activer l'API Container File System dans le projet hôte des stations de travail.

    Activer l'API Container File System

    Vous pouvez également exécuter la commande CLI gcloud suivante pour activer l'API Container File System dans le projet hôte des stations de travail :

    gcloud services enable containerfilesystem.googleapis.com
    

  • Vos images de conteneurs doivent être stockées dans Artifact Registry.

  • Le dépôt Artifact Registry doit se trouver dans la même région que votre région de stations de travail Cloud ou dans un emplacement multirégional correspondant à la région dans laquelle vos stations de travail sont exécutées.

  • Vous devez spécifier un compte de service à utiliser sur votre station de travail configuration.

  • Si votre cluster se trouve dans un périmètre VPC Service Controls, vous devez ajouter une règle de sortie permettant à votre compte de service d'accéder à l'API Container File System sur le projet hébergeant votre image de conteneur. Si vous utilisez un IDE préconfiguré, vous devez ajouter le projet cloud-workstations-images (numéro de projet 662288601415) à la liste d'autorisation.

Limites

  • Vous ne remarquerez peut-être pas les avantages du streaming d'images lors de la première extraction d'une image éligible. Cependant, une fois que le streaming d'images a mis en cache l'image, les futures extractions d'images sur une station de travail bénéficieront des avantages du streaming d'images.

  • Autres limites applicables au streaming d'images GKE s'appliquent.