Arquitectura de Cloud Workstations

Cloud Workstations administra recursos de Google Cloud, como Compute Engine VMs y discos persistentes (PD), para darte más visibilidad y control sobre los de Google Cloud. Por ejemplo, puedes configurar políticas de instantáneas de disco programadas que apliquen políticas de copia de seguridad para todos los PD de las estaciones de trabajo. Del mismo modo, tener VMs dentro te permite acceder y administrar sin problemas los recursos de tu de VPC de Google Cloud.

En el siguiente diagrama, se ilustra la arquitectura de Cloud Workstations.

Diagrama de la arquitectura

Figura 1: Arquitectura de Cloud Workstations

Clúster de la estación de trabajo

Un clúster de estación de trabajo contiene y administra un conjunto de estaciones de trabajo en un Una sola región de la nube y VPC red dentro de tu en un proyecto final. Cada clúster de estaciones de trabajo incluye dos componentes que administra Google Cloud: un controlador y una puerta de enlace.

  • Controlador: Administra el ciclo de vida de las instancias de VM y otros recursos de la estación de trabajo dentro de tu proyecto.

    Los controladores usan la API de Compute Engine para administrar el ciclo de vida de los recursos y utilizar Private Service Connect para enrutar el tráfico a las estaciones de trabajo VMs.

  • Puerta de enlace: recibe tráfico de clientes vinculados para un estaciones de trabajo y reenvía el tráfico a la instancia de VM adecuada. Cada clúster de estaciones de trabajo tiene un nombre de dominio único, y se puede acceder a cada estación de trabajo en un subdominio del dominio del clúster de estaciones de trabajo, por ejemplo, $WORKSTATION_ID.$CLUSTER_ID.cloudworkstations.dev.

A continuación, se incluyen otras características de los clústeres de estaciones de trabajo:

  • Los administradores y los equipos de la plataforma crean clústeres de estaciones de trabajo, que definen un grupo de estaciones de trabajo en una región en particular y la red de VPC a la que están conectadas.

  • Los clústeres de las estaciones de trabajo no están relacionados con Google Kubernetes Engine (GKE) entre los clústeres de Kubernetes.

  • Cada clúster de estación de trabajo tiene un controlador dedicado que está conectado a un VPC en la que residen las estaciones de trabajo con Private Service Connect (lo que no afecta los límites del intercambio de tráfico entre VPC). Esta administra los recursos de las estaciones de trabajo a lo largo de su ciclo de vida y brinda tráfico de entrada y salida de red a las estaciones de trabajo a través de un puerta de enlace del clúster.

  • Cada región de la nube requiere al menos un clúster de estación de trabajo.

  • Si es necesario, también es posible habilitar una puerta de enlace privada por completo, de modo que solo los extremos dentro de tu red privada tengan acceso a Cloud Workstations.

Red de VPC

Cuando creas un clúster de estación de trabajo, especificas un proyecto y una red de VPC para alojar los recursos. Luego, Cloud Workstations aprovisiona los siguientes recursos en tu proyecto:

  • Private Service Connect: Establece una conexión entre los de Google Cloud Workstations y tu VPC, lo que permite la creación de recursos dentro de tu proyecto.

  • Instancia de VM: una VM de Compute Engine se crea de forma dinámica dentro del y la VPC después de iniciar una estación de trabajo. Esta VM es se borran automáticamente al final de una sesión de usuario o después de una tiempo de espera de la sesión.

    • Puerta de enlace de VM: Extrae el tráfico del cliente de la puerta de enlace del clúster de la estación de trabajo, lo autentica y autoriza, y lo reenvía al contenedor.

    • Contenedor: define las herramientas preinstaladas en una estación de trabajo, como el IDE o editor de código, y cualquier otro programa o configuración que especifique la configuración de la estación de trabajo.

      Cloud Workstations proporciona varias imágenes base preconfiguradas con IDEs y herramientas de lenguaje populares. Además, los administradores y los equipos de la plataforma pueden personalizar sus entornos creando y especificando imágenes de contenedor personalizadas que contengan las herramientas necesarias para satisfacer las necesidades de sus desarrolladores. Estas imágenes de contenedor pueden extender la imagen base de Cloud Workstations o ser imágenes de contenedor de Linux nuevas y personalizadas que creó el equipo de la plataforma.

  • Disco persistente: un disco persistente conectado a la VM de la estación de trabajo en la carpeta /home, lo que permite almacenar datos y archivos una vez finalizada la sesión.

Ciclo de vida de los recursos

Cloud Workstations administra VMs, imágenes de contenedor y discos persistentes para usarse como el entorno de ejecución de cada estación de trabajo. Configura las especificaciones de estos recursos en la configuración de tu estación de trabajo.

Cuando se inicia una estación de trabajo, Cloud Workstations hace lo siguiente:

  1. Crea una VM.
  2. Extrae la imagen del contenedor de la estación de trabajo en la VM.
  3. La primera vez que se inicia la estación de trabajo, se crea un disco persistente para que actúe como el directorio /home de la estación de trabajo.
  4. Conecta el disco persistente a la VM.
  5. Inicia el contenedor en la VM y activa el disco persistente en la Directorio /home en el contenedor.

Cuando finaliza la sesión, Cloud Workstations borra la VM, pero se desconecta y retiene el disco persistente para que pueda usarse en futuras estaciones de trabajo sesiones. El servicio de estaciones de trabajo retiene el disco hasta que se borra el disco persistente, en cuyo caso el disco persistente también se borra, a menos que opcionalmente que se configuren para retenerse.

Agrupación de recursos

De manera opcional, los administradores y los equipos de la plataforma pueden agrupar VMs y discos persistentes para iniciar estaciones de trabajo más rápido con la opción de configuración de la estación de trabajo tamaño del grupo. Si se especifica, el servicio agrupa la cantidad especificada de discos persistentes y VMs y extrae previamente la imagen del contenedor a la VM antes asignación de estaciones de trabajo. Las VMs y los discos no asignados en el grupo se borran y se vuelven a crear automáticamente cada 12 horas. Esto permite un inicio más rápido de la estación de trabajo de tiempo si se quita el tiempo de espera para crear VMs y se extrae la imagen del contenedor en la VM.

Cuando se habilita el grupo, Cloud Workstations hace lo siguiente cuando inicia una estación de trabajo:

  1. Selecciona una VM del grupo que tenga la imagen del contenedor extraída previamente.
  2. La primera vez que se inicia la estación de trabajo, se selecciona un disco persistente. del grupo.
  3. Conecta el disco persistente a la VM.
  4. Inicia la imagen de contenedor en la VM y activa el disco persistente en la Directorio /home en la imagen del contenedor.
  5. Para volver a llenar el grupo, crea una VM y un disco persistente nuevos para reemplazar los que se asignaron.

Cuando finaliza la sesión, las estaciones de trabajo de Cloud borran la VM, pero desconectan y retienen el disco persistente para que se pueda usar en sesiones futuras de la estación de trabajo. El servicio de estaciones de trabajo retiene el disco hasta que se borra el disco persistente, en cuyo caso el disco persistente también se borra, a menos que opcionalmente que se configuren para retenerse.

Actualizaciones de imágenes de contenedores

Debido a que la imagen del contenedor de la estación de trabajo se extrae previamente de las VMs agrupadas, actualizaciones a la imagen del contenedor realizadas en el repositorio de imágenes remoto con la misma etiqueta de imagen no se recoge hasta que todas las VMs agrupadas se hayan asignado o se borran después de 12 horas. En ese momento, se crean VMs nuevas para reabastecer el grupo. y extraer la imagen del contenedor actualizada.

Para forzar una actualización del grupo para que detecte las actualizaciones de la imagen del contenedor de inmediato, los administradores pueden establecer pool_size en 0 y, luego, volver a establecerlo en el pool_size preferido. En la consola de Google Cloud, inhabilita la función Estaciones de trabajo de inicio rápido en la configuración de la estación de trabajo, guárdala, vuelve a establecerla en la cantidad preferida y, luego, vuelve a guardarla.

Como alternativa, los administradores y los equipos de la plataforma pueden actualizar la etiqueta de imagen en el campo container.image de la configuración de la estación de trabajo, lo que obliga a una actualización del grupo para que tome la nueva etiqueta de imagen del contenedor.

Reduce el tiempo de inicio de la estación de trabajo con la transmisión de imágenes

Cloud Workstations admite la transmisión de imágenes, que proporciona un tiempo de inicio más rápido de la estación de trabajo, ya que reduce el tiempo de extracción de imágenes de contenedor de la estación de trabajo.

Por lo general, la transmisión de imágenes en Cloud Workstations reduce la extracción de imágenes de los contenedores. tiempo de minutos a segundos, y contenedores de estaciones de trabajo suelen comenzar a ejecutarse sin esperar a que se descargue toda la imagen.

Requisitos

Para usar la transmisión de imágenes en las estaciones de trabajo de Cloud, debes cumplir con los siguientes requisitos:

  • Debes habilitar la API de Container File System en el proyecto host de las estaciones de trabajo.

    Habilitar la API de Container File System

    Como alternativa, puedes ejecutar el siguiente comando gcloud de la CLI para Habilita la API de Container File System en el proyecto host de las estaciones de trabajo:

    gcloud services enable containerfilesystem.googleapis.com
    

  • Tus imágenes de contenedor se deben almacenar en Artifact Registry.

  • El repositorio de Artifact Registry debe estar en el mismo región como la región de Cloud Workstations multirregión que corresponda a la región en la que se ejecutan tus estaciones de trabajo.

  • Debes especificar una cuenta de servicio para usarla en la configuración de tu estación de trabajo.

  • Si tu clúster está dentro de un perímetro de Controles del servicio de VPC, debes agregar un regla de salida lo que permite que tu cuenta de servicio acceda a la API de Container File System el proyecto que aloja tu imagen de contenedor. Si usas un IDE preconfigurado, debes agregar el proyecto cloud-workstations-images (número de proyecto 662288601415) a la lista de entidades permitidas.

Limitaciones

  • Es posible que no notes los beneficios de la transmisión de imágenes durante la primera extracción de una imagen apta. Sin embargo, después de que la transmisión de imágenes almacena en caché la imagen, las futuras imágenes extraen cualquier beneficio de la transmisión de imágenes en una estación de trabajo.

  • Otras limitaciones de la transmisión de imágenes de GKE aplicar.