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 las contraseñas de Google Cloud. Por ejemplo, puedes configurar una instantánea de disco programada políticas que aplican las 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.

Arquitectura
diagrama

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 estación de trabajo incluye dos componentes que administra Google Cloud: un controlador y una puerta de enlace.

  • Controlador: Administra el ciclo de vida de la VM. de Compute Engine y otras de una estación de trabajo dentro del 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 estación de trabajo tiene un nombre de dominio único, y cada estación de trabajo a un subdominio del dominio del clúster de la estación 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 plataforma crean clústeres de estaciones de trabajo, que definen un grupo de estaciones de trabajo en una región en particular y la VPC red a la que están conectados.

  • 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 configuración privada de enlace, de modo que solo los extremos dentro de tu red privada tienen 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. Cloud Workstations Luego, 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 del clúster de la estación de trabajo de enlace, la autentica y autoriza, y la 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 una variedad de imágenes base preconfigurados con IDE y herramientas de lenguaje populares. Además: y los equipos de plataforma pueden personalizar sus entornos Crear y especificar imágenes de contenedor personalizadas. que contienen las herramientas necesarias para satisfacer las necesidades necesidades empresariales. Estos imágenes de contenedor pueden extender la imagen base de Cloud Workstations o pueden ser imágenes de contenedor de Linux nuevas y personalizadas creadas por 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 el entorno de ejecución de cada estación de trabajo. Configura las especificaciones para estos recursos en tu estación de trabajo actual.

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

Los administradores y los equipos de plataforma tienen la opción de agrupar VMs y discos persistentes para un inicio más rápido de la estación de trabajo con el estación de trabajo pool size opción de configuración. 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 sin asignar del grupo se se borran y se vuelven a crear 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 la agrupación está habilitada, Cloud Workstations hace lo siguiente cuando inicia estación de trabajo:

  1. Selecciona una VM del grupo que tiene 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. Rellena el grupo con la creación de una VM y un disco persistente nuevos para reemplazarlos que se asignaron.

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.

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 la actualización de un grupo a fin de recoger las actualizaciones de imagen de contenedor de inmediato, haz lo siguiente: los administradores pueden establecer el pool_size en 0 y, luego, volver a establecerlo pool_size preferido. En la consola de Google Cloud, inhabilita las Estaciones de trabajo de inicio rápido en la configuración de la estación de trabajo, guarda configúralo, vuelve a establecerlo en el número preferido y, luego, vuelve a guardarlo.

Como alternativa, los administradores y los equipos de plataforma pueden actualizar la etiqueta de imagen en el container.image en la configuración de la estación de trabajo, lo que fuerza una actualización del grupo para seleccionar la nueva etiqueta de imagen de 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, el tiempo de inicio de la estación de trabajo mediante la reducción del tiempo de extracción de la imagen del 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

Debes cumplir con los siguientes requisitos para usar la transmisión de imágenes en Cloud Workstations:

  • 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 tu 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 usar en tu estación de trabajo configuración.

  • 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 en el proyecto que aloja tu imagen de contenedor. Si utilizas un IDE preconfigurado, debes agregar el proyecto cloud-workstations-images (número de proyecto 662288601415) incluidos en 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 almacene en caché de imágenes, las futuras extracciones de imágenes en una estación de trabajo se beneficiarán de la transmisión de imágenes.

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