Las reservas de Compute Engine ofrecen un alto nivel de garantía para obtener capacidad para las instancias de máquina virtual (VM) de Compute Engine. Las reservas ayudan a asegurar que la capacidad de las VMs con propiedades específicas, como el tipo de máquina, se mantenga para tu proyecto.
Cuando creas una reserva, proteges tus cargas de trabajo de los errores causados por una capacidad insuficiente. Para obtener más información, consulta la descripción general de las reservas de Compute Engine.
En este documento se describe cómo configurar las configuraciones de tu estación de trabajo para consumir capacidad reservada definiendo una afinidad de reserva. En la API, estos parámetros de afinidad se denominan en conjunto ReservationAffinity
.
Antes de empezar
- Crea una reserva de Compute Engine. La reserva debe estar en el mismo proyecto y región, y dirigirse a la misma zona que tu clúster de estaciones de trabajo.
- Las propiedades de la máquina de la reserva (por ejemplo, el tipo de máquina) deben coincidir con las propiedades que quieras usar en la configuración de la estación de trabajo.
Cómo funciona la afinidad de reserva
Puedes controlar cómo consume una configuración de estación de trabajo la capacidad reservada especificando su afinidad de reserva. Hay tres modos:
- Reserva específica: la configuración usa la capacidad solo de una reserva específica que coincida. Para orientar esta reserva, usa la marca
--reservation-affinity
conconsume-reservation-type=specific-reservation
. - Sin reserva: la configuración no puede usar la capacidad de ninguna reserva. Para ello, usa la marca
--reservation-affinity
conconsume-reservation-type=no-reservation
. - Cualquier reserva coincidente (opción predeterminada): de forma predeterminada, si no especificas una afinidad de reserva, Cloud Workstations usa la capacidad de cualquier reserva coincidente disponible en el proyecto. Este comportamiento se produce porque las instancias de Compute Engine subyacentes usan de forma predeterminada cualquier reserva coincidente.
Configurar la afinidad de reserva
Para controlar el uso de la reserva, especifica la marca --reservation-affinity
al crear o actualizar una configuración de estación de trabajo.
Consumir una reserva específica
Para crear una configuración de estación de trabajo que solo consuma capacidad de una reserva específica, ejecuta el siguiente comando de la CLI de gcloud
:
gcloud beta workstations configs create WORKSTATION_CONFIG_ID \ --cluster=WORKSTATION_CLUSTER_ID \ --region=REGION \ --project=PROJECT_ID \ --machine-type=MACHINE_TYPE \ --reservation-affinity=consume-reservation-type=specific-reservation,key=compute.googleapis.com/reservation-name,values=RESERVATION_NAME
Haz los cambios siguientes:
WORKSTATION_CONFIG_ID
: el ID de la configuración de la estación de trabajo.WORKSTATION_CLUSTER_ID
: el ID del clúster de estaciones de trabajo.REGION
: la región del clúster de estaciones de trabajo.PROJECT_ID
: el ID del proyecto.MACHINE_TYPE
: el tipo de máquina de las VMs de la configuración de la estación de trabajo. Por ejemplo,e2-standard-4
. Este tipo de máquina debe coincidir con el tipo de máquina de la reserva.RESERVATION_NAME
: el nombre de la reserva de Compute Engine específica de la que se va a usar la capacidad.
Si configuras las estaciones de trabajo para que consuman una reserva específica, las estaciones de trabajo que utilicen esta configuración solo podrán usar la capacidad de esa reserva. Si la reserva se queda sin capacidad, la configuración se degradará hasta que haya capacidad disponible en la reserva.
Evitar que se use ninguna reserva
Para crear una configuración de estación de trabajo que no use la capacidad de ninguna reserva, usa --reservation-affinity=consume-reservation-type=no-reservation
:
gcloud beta workstations configs create WORKSTATION_CONFIG_ID \ --cluster=WORKSTATION_CLUSTER_ID \ --region=REGION \ --project=PROJECT_ID \ --machine-type=MACHINE_TYPE \ --reservation-affinity=consume-reservation-type=no-reservation
Puede usar las mismas sustituciones de variables que se indican en la sección anterior.