Reserva capacidad para tu estación de trabajo

Las reservas de Compute Engine proporcionan un alto nivel de seguridad para obtener capacidad para las instancias de máquina virtual (VM) de Compute Engine. Las reservas ayudan a garantizar que la capacidad para las VMs con propiedades específicas, como el tipo de máquina, se mantenga para tu proyecto.

Cuando creas una reserva, ayudas a proteger tus cargas de trabajo de los errores causados por 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 tus estaciones de trabajo para que consuman capacidad reservada estableciendo una afinidad de reserva. En la API, estos parámetros de afinidad se conocen en conjunto como ReservationAffinity.

Antes de comenzar

  • Crea una reserva de Compute Engine. La reserva debe estar en el mismo proyecto y la misma región, y debe segmentarse para 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 planeas usar en la configuración de la estación de trabajo.

Cómo funciona la afinidad de reserva

Puedes controlar cómo una configuración de estación de trabajo consume la capacidad reservada especificando su afinidad de reserva. Existen tres modos:

  • Reserva específica: La configuración usa capacidad solo de una reserva coincidente específica. Puedes segmentar esta reserva con la marca --reservation-affinity y consume-reservation-type=specific-reservation.
  • Sin reserva: Se impide que la configuración use capacidad de cualquier reserva. Para establecerlo, usa la marca --reservation-affinity con consume-reservation-type=no-reservation.
  • Cualquier reserva coincidente (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 subyacentes de Compute Engine usan de forma predeterminada cualquier reserva coincidente.

Configura la afinidad de reserva

Para controlar el uso de las reservas, especifica la marca --reservation-affinity cuando crees o actualices una configuración de estación de trabajo.

Consume una reserva específica

Para crear una configuración de estación de trabajo que consuma capacidad solo de una reserva con nombre específico, 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

Reemplaza lo siguiente:

  • WORKSTATION_CONFIG_ID: Es el ID de la configuración de la estación de trabajo.
  • WORKSTATION_CLUSTER_ID: Es el ID del clúster de estaciones de trabajo.
  • REGION: Es la región del clúster de estaciones de trabajo.
  • PROJECT_ID: el ID del proyecto.
  • MACHINE_TYPE: Es el tipo de máquina para las VMs en 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: Es el nombre de la reserva específica de Compute Engine desde la que se usará la capacidad.

Si configuras estaciones de trabajo para que consuman una reserva específica, las estaciones de trabajo que se inicien con esta configuración solo extraerán capacidad de esa reserva. Si la reserva se queda sin capacidad, la configuración se degradará hasta que haya capacidad disponible en la reserva.

Evita usar cualquier reserva

Para crear una configuración de estación de trabajo que no use 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

Puedes usar los mismos reemplazos de variables que se indican en la sección anterior.