Réserver de la capacité pour votre station de travail

Les réservations Compute Engine offrent un niveau élevé d'assurance pour l'obtention de la capacité des instances de machine virtuelle (VM) Compute Engine. Les réservations permettent de s'assurer que la capacité des VM ayant des propriétés spécifiques, telles que le type de machine, est réservée à votre projet.

Lorsque vous créez une réservation, vous protégez vos charges de travail contre les erreurs causées par une capacité insuffisante. Pour en savoir plus, consultez la présentation des réservations Compute Engine.

Ce document explique comment configurer vos configurations de poste de travail pour consommer la capacité réservée en définissant une affinité de réservation. Dans l'API, ces paramètres d'affinité sont collectivement appelés ReservationAffinity.

Avant de commencer

  • Créez une réservation Compute Engine. La réservation doit se trouver dans le même projet et la même région, et cibler la même zone que votre cluster de postes de travail.
  • Les propriétés de la machine de la réservation (par exemple, le type de machine) doivent correspondre aux propriétés que vous prévoyez d'utiliser dans la configuration du poste de travail.

Fonctionnement de l'affinité de réservation

Vous pouvez contrôler la façon dont une configuration de poste de travail consomme la capacité réservée en spécifiant son affinité de réservation. Il existe trois modes :

  • Réservation spécifique : la configuration utilise la capacité uniquement à partir d'une réservation spécifique correspondante. Vous ciblez cette réservation à l'aide de l'option --reservation-affinity avec consume-reservation-type=specific-reservation.
  • Aucune réservation : la configuration ne peut pas utiliser la capacité d'aucune réservation. Pour définir cette valeur, utilisez l'option --reservation-affinity avec consume-reservation-type=no-reservation.
  • Toute réservation correspondante (par défaut) : par défaut, si vous ne spécifiez pas d'affinité de réservation, Cloud Workstations utilise la capacité de toutes les réservations correspondantes disponibles dans le projet. Ce comportement se produit, car les instances Compute Engine sous-jacentes utilisent par défaut toute réservation correspondante.

Configurer l'affinité de réservation

Pour contrôler l'utilisation des réservations, spécifiez l'option --reservation-affinity lorsque vous créez ou mettez à jour une configuration de poste de travail.

Utiliser une réservation spécifique

Pour créer une configuration de station de travail qui ne consomme de la capacité que d'une réservation nommée spécifique, exécutez la commande gcloud CLI suivante :

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

Remplacez les éléments suivants :

  • WORKSTATION_CONFIG_ID : ID de la configuration du poste de travail.
  • WORKSTATION_CLUSTER_ID : ID du cluster de postes de travail.
  • REGION : région du cluster de postes de travail.
  • PROJECT_ID : ID du projet.
  • MACHINE_TYPE : type de machine pour les VM dans la configuration de la station de travail (par exemple, e2-standard-4). Ce type de machine doit correspondre à celui de la réservation.
  • RESERVATION_NAME : nom de la réservation Compute Engine spécifique à partir de laquelle utiliser la capacité.

Si vous configurez des stations de travail pour qu'elles utilisent une réservation spécifique, les stations de travail démarrées avec cette configuration ne puisent leur capacité que dans cette réservation. Si la réservation manque de capacité, la configuration sera dégradée jusqu'à ce que de la capacité soit disponible dans la réservation.

Empêcher l'utilisation de toute réservation

Pour créer une configuration de poste de travail qui n'utilise la capacité d'aucune réservation, utilisez --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

Vous pouvez utiliser les mêmes substitutions de variables que celles listées dans la section précédente.