Cette page explique comment provisionner des VM sur des nœuds à locataire unique, des serveurs physiques qui n'exécutent des VM qu'à partir d'un seul projet. Avant de provisionner des VM sur des nœuds à locataire unique, consultez la présentation des nœuds à locataire unique.
Le provisionnement d'une VM sur un nœud à locataire unique nécessite d'effectuer les opérations suivantes :
Créer un modèle de nœud à locataire unique. Ce modèle spécifie des propriétés uniformes pour tous les nœuds appartenant à un groupe de nœuds à locataire unique.
Créer un groupe de nœuds à locataire unique à l'aide du modèle précédemment créé.
Créer des VM et les provisionner sur un groupe de nœuds à locataire unique.
Avant de commencer
- Avant de provisionner des VM sur un nœud à locataire unique, vérifiez votre quota. Selon le nombre et la taille des nœuds que vous réservez, vous devrez peut-être demander un quota supplémentaire.
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud.
Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine comme suit :
Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :
Console
Lorsque vous utilisez la console Google Cloud pour accéder aux services et aux API Google Cloud, vous n'avez pas besoin de configurer l'authentification.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Définissez une région et une zone par défaut.
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
Créer un modèle de nœud à locataire unique
Les modèles de nœud à locataire unique sont des ressources régionales qui spécifient des propriétés pour les groupes de nœuds à locataire unique. Vous devez créer un modèle de nœud avant de créer un groupe de nœuds. Toutefois, si vous utilisez la console Google Cloud, vous devez créer des modèles de nœuds lors de la création d'un groupe de nœuds à locataire unique.
Console
Vous devez créer un modèle de nœud à locataire unique avant de créer un groupe de nœuds. En utilisant la console Google Cloud, vous devez créer le modèle de nœud pendant la création d'un groupe de nœuds à locataire unique. Le nouveau modèle de nœud est créé dans la même région que celle que vous spécifiez dans les propriétés du groupe de nœuds.
Dans Google Cloud Console, accédez à la page Nœuds à locataire unique.
Cliquez sur Créer un groupe de nœuds.
Spécifiez un nom pour le groupe de nœuds.
Spécifiez une région dans laquelle créer le modèle de nœud. Vous pouvez utiliser le modèle de nœud pour créer des groupes de nœuds dans n'importe quelle zone de cette région.
Spécifiez la Zone, puis cliquez sur Continuer.
Dans la liste Modèle de nœud, cliquez sur Créer un modèle de nœud pour commencer à créer un modèle de nœud à locataire unique.
Spécifiez un nom pour le modèle de nœud.
Spécifiez le type de nœud pour chaque nœud à locataire unique dans le groupe de nœuds à créer sur la base de ce modèle de nœud.
Vous pouvez également spécifier les propriétés suivantes pour le modèle de nœud.
Ajoutez un disque SSD local et un accélérateur GPU.
Sélectionnez Activer la sursollicitation des processeurs pour contrôler les Niveaux de sursollicitation des processeurs pour chaque VM planifiée sur le nœud.
Ajoutez des étiquettes d'affinité de nœuds. Les libellés d'affinité vous permettent de regrouper logiquement des nœuds et des groupes de nœuds. Ensuite, lorsque vous provisionnez des VM, vous pouvez spécifier des libellés d'affinité sur les VM pour les planifier sur un ensemble spécifique de nœuds ou de groupes de nœuds. Pour en savoir plus, consultez la section Affinité et anti-affinité de nœuds.
Cliquez sur Créer pour terminer la création du modèle de nœud.
Facultatif : pour ajouter un modèle de nœud à locataire unique dans une région différente, répétez les étapes précédentes.
Pour afficher les modèles de nœud, cliquez sur Modèles de nœud sur la page Nœuds à locataire unique.
gcloud
Exécutez la commande gcloud compute sole-tenancy node-templates
create
pour créer un modèle de nœud :
gcloud compute sole-tenancy node-templates create TEMPLATE_NAME \ --node-type=NODE_TYPE \ [--accelerator type=GPU_TYPE,count=GPU_COUNT \] [--cpu-overcommit-type=CPU_OVERCOMMIT_TYPE \] [--disk type=local-ssd,count=DISK_COUNT,size=DISK_SIZE \] [--node-affinity-labels=AFFINITY_LABELS \] [--region=REGION]
Remplacez l'élément suivant :
TEMPLATE_NAME
: nom du nouveau modèle de nœud.NODE_TYPE
: type de nœud pour les nœuds à locataire unique créés à partir de ce modèle. Exécutez la commandegcloud compute sole-tenancy node-types list
pour obtenir la liste des types de nœuds disponibles dans chaque zone.GPU_TYPE
: type de GPU pour chaque nœud à locataire unique créé à partir de ce modèle de nœud. Pour plus d'informations sur la disponibilité zonale des GPU, exécutez la commandegcloud compute accelerator-types list
et choisissez une zone dans laquelle le type de nœud à locataire uniquen1
oug2
est disponible. Selon la disponibilité de la zone, définissez l'une des valeurs suivantes :nvidia-l4
nvidia-tesla-p100
nvidia-tesla-p4
nvidia-tesla-t4
nvidia-tesla-v100
GPU_COUNT
: nombre de GPU à spécifier en fonction du type de GPU. Définissez cette valeur sur la valeur spécifiée pour le type de GPU, comme indiqué dans le tableau suivant :GPU_TYPE
GPU_COUNT
nvidia-l4
8 nvidia-tesla-p100
4 nvidia-tesla-p4
4 nvidia-tesla-t4
4 nvidia-tesla-v100
8 CPU_OVERCOMMIT_TYPE
: type de sursollicitation des processeurs sur une VM. Définissez-le surenabled
ounone
.DISK_COUNT
: nombre de disques SSD. Définissez-le sur16
ou24
.DISK_SIZE
: valeur facultative pour la taille de partition du disque SSD local en Go. La seule taille de partition acceptée est375
. Si vous ne définissez pas cette valeur, la valeur par défaut est375
.AFFINITY_LABELS
: clés et valeurs,[KEY=VALUE,...]
pour les libellés d'affinité. Les libellés d'affinité vous permettent de regrouper logiquement des nœuds et des groupes de nœuds. Ensuite, lorsque vous provisionnez des VM, vous pouvez spécifier des libellés d'affinité sur les VM pour les planifier sur un ensemble spécifique de nœuds ou de groupes de nœuds. Pour en savoir plus, consultez la section Affinité et anti-affinité de nœuds.REGION
: région dans laquelle créer le modèle de nœud. Vous pouvez utiliser ce modèle pour créer des groupes de nœuds dans n'importe quelle zone de cette région.
REST
Utilisez la méthode nodeTemplates.insert
pour créer un modèle de nœud :
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/nodeTemplates { "name": "TEMPLATE_NAME", "nodeType": "NODE_TYPE", "nodeAffinityLabels": { "KEY": "VALUE", ... }, "accelerators": [ { "acceleratorType": "GPU_TYPE", "acceleratorCount": GPU_COUNT } ], "disks": [ { "diskType": "local-ssd", "diskSizeGb": DISK_SIZE, "diskCount": DISK_COUNT } ], "cpuOvercommitType": CPU_OVERCOMMIT_TYPE }
Remplacez l'élément suivant :
PROJECT_ID
: ID du projet.REGION
: région dans laquelle créer le modèle de nœud. Vous pouvez utiliser ce modèle pour créer des groupes de nœuds dans n'importe quelle zone de cette région.TEMPLATE_NAME
: nom du nouveau modèle de nœud.NODE_TYPE
: type de nœud pour les nœuds à locataire unique créés à partir de ce modèle. Utilisez la méthodenodeTypes.list
pour obtenir la liste des types de nœuds disponibles dans chaque zone.KEY
: valeurnodeAffinityLabels
spécifiant la partie clé d'un libellé d'affinité de nœud présenté sous la forme d'une paire clé/valeur. Les libellés d'affinité vous permettent de regrouper logiquement des nœuds et des groupes de nœuds. Ensuite, lorsque vous provisionnez des VM, vous pouvez spécifier des libellés d'affinité sur les VM pour les planifier sur un ensemble spécifique de nœuds ou de groupes de nœuds. Pour en savoir plus, consultez la section Affinité et anti-affinité de nœuds.VALUE
: valeurnodeAffinityLabels
spécifiant la partie valeur d'un libellé d'affinité de nœud présenté sous la forme d'une paire clé/valeur.GPU_TYPE
: type de GPU pour chaque nœud à locataire unique créé à partir de ce modèle de nœud. Pour plus d'informations sur la disponibilité zonale des GPU, exécutez la commandegcloud compute accelerator-types list
et choisissez une zone dans laquelle le type de nœud à locataire uniquen1
oug2
est disponible. Selon la disponibilité de la zone, définissez l'une des valeurs suivantes :nvidia-l4
nvidia-tesla-p100
nvidia-tesla-p4
nvidia-tesla-t4
nvidia-tesla-v100
GPU_COUNT
: nombre de GPU pour chaque nœud à locataire unique créé à partir de ce modèle de nœud. Définissez cette valeur sur la valeur spécifiée pour le type de GPU, comme indiqué dans le tableau suivant :GPU_TYPE
GPU_COUNT
nvidia-l4
8 nvidia-tesla-p100
4 nvidia-tesla-p4
4 nvidia-tesla-t4
4 nvidia-tesla-v100
8 DISK_SIZE
: valeur facultative pour la taille de partition du disque SSD local en Go. La seule taille de partition acceptée est375
. Si vous ne définissez pas cette valeur, la valeur par défaut est375
.DISK_COUNT
: nombre de disques SSD. Définissez-le sur16
ou24
.CPU_OVERCOMMIT_TYPE
: Type de sursollicitation du processeur Définissez-le surenabled
,none
ouCPU_OVERCOMMIT_TYPE_UNSPECIFIED
.
Créer un groupe de nœuds à locataire unique
Avec le modèle de nœud à locataire unique créé précédemment, créez un groupe de nœuds à locataire unique. Un groupe de nœuds à locataire unique hérite des propriétés spécifiées par le modèle de nœud à locataire unique et comporte des valeurs supplémentaires que vous devez spécifier.
Console
Dans Google Cloud Console, accédez à la page Nœuds à locataire unique.
Cliquez sur Créer un groupe de nœuds pour commencer la création.
Spécifiez un nom pour le groupe de nœuds.
Spécifiez la région du groupe de nœuds pour afficher les modèles de nœud disponibles dans cette région.
Spécifiez la zone de la région où vous souhaitez créer le groupe de nœuds.
Spécifiez le Modèle de nœud pour créer le groupe de nœuds ou cliquez sur Créer un modèle de nœud afin de créer un modèle de nœud à locataire unique. Le modèle de nœud sélectionné est appliqué au groupe de nœuds.
Choisissez l'une des options suivantes pour le Mode d'autoscaling de l'autoscaler du groupe de nœuds :
Désactivé : gérez manuellement la taille du groupe de nœuds.
Activé : les nœuds sont automatiquement ajoutés au groupe de nœuds ou supprimés de celui-ci.
Scaling horizontal uniquement : ajoutez des nœuds au groupe de nœuds en cas de besoin de capacité supplémentaire.
Spécifiez le nombre de nœuds pour le groupe. Si vous activez l'autoscaler de groupe de nœuds, spécifiez une plage pour la taille du groupe de nœuds. Vous pouvez modifier les valeurs manuellement.
Définissez la règle de maintenance du groupe de nœuds à locataire unique dans la section Configurer les paramètres de maintenance sur l'une des valeurs suivantes. La règle de maintenance vous permet de configurer le comportement des VM sur le groupe de nœuds lors des événements de maintenance de l'hôte. Pour en savoir plus, consultez la section Règles de maintenance.
- Par défaut
- Redémarrer sur place
- Migrer dans le groupe de nœuds
Vous pouvez choisir entre les intervalles de maintenance standards et les contrôles de maintenance avancés pour gérer la maintenance de votre groupe de nœuds à locataire unique, comme suit :
Intervalle de maintenance : sélectionnez la période pendant laquelle vous souhaitez que les événements de maintenance planifiés se produisent pour les nœuds des groupes de nœuds à locataire unique.
Activer le contrôle de maintenance avancé pour la location unique (bêta) : Le contrôle de maintenance avancé pour la location unique permet de contrôler les événements de maintenance planifiés pour les groupes de nœuds à locataire unique et de minimiser les interruptions liées à la maintenance. Pour activer le contrôle de maintenance avancé, faites passer le bouton Activer le contrôle de maintenance avancé pour la location unique en mode activé Si vous choisissez d'utiliser cette option pour la maintenance des nœuds, le champ Intervalle de maintenance est désactivé et la maintenance a lieu comme configuré dans le contrôle de maintenance avancé.
Notez que pendant la phase bêta, le contrôle de maintenance avancée n'est compatible qu'avec la règle de maintenance Par défaut.
Configurez les paramètres de partage en spécifiant l'un des éléments suivants dans la section Configurer les paramètres de partage :
- Pour partager le groupe de nœuds avec tous les projets de votre organisation, sélectionnez Partager ce groupe de nœuds avec tous les projets de l'organisation.
- Pour partager le groupe de nœuds avec des projets spécifiques de votre organisation, sélectionnez Partager ce groupe de nœuds avec les projets sélectionnés au sein de l'organisation.
Si vous ne souhaitez pas partager le groupe de nœuds, sélectionnez Ne pas partager ce groupe de nœuds avec d'autres projets. Pour en savoir plus sur le partage de groupes de nœuds, consultez la section Partager des groupes de nœuds à locataire unique.
Cliquez sur Créer pour terminer la création du groupe de nœuds.
gcloud
Exécutez la commande gcloud compute sole-tenancy node-groups
create
pour créer un groupe de nœuds basé sur un modèle de nœud créé précédemment :
gcloud compute sole-tenancy node-groups create GROUP_NAME \ --node-template=TEMPLATE_NAME \ --target-size=TARGET_SIZE \ [--zone=ZONE \] [--maintenance-policy=MAINTENANCE_POLICY \] [--maintenance-window-start-time=START_TIME \] [--autoscaler-mode=AUTOSCALER_MODE: \ --min-nodes=MIN_NODES \ --max-nodes=MAX_NODES]
Remplacez l'élément suivant :
GROUP_NAME
: nom du nouveau groupe de nœuds.TEMPLATE_NAME
: nom du modèle de nœud à utiliser pour créer le groupe.TARGET_SIZE
: nombre de nœuds à créer dans le groupe.ZONE
: zone dans laquelle créer le groupe de nœuds. Cette zone doit être située dans la même région que le modèle de nœud sur lequel vous basez le groupe de nœuds.MAINTENANCE_POLICY
: règle de maintenance du groupe de nœuds. Pour en savoir plus, consultez la section Règles de maintenance. Il doit s'agir de l'une des valeurs suivantes :default
restart-in-place
migrate-within-node-group
Vous pouvez également activer le contrôle de maintenance avancée (bêta) pour le groupe de nœuds à locataire unique à l'aide de l'option
--maintenance-interval
. Pour en savoir plus, consultez l'article Activer le contrôle de maintenance avancée sur un nœud à locataire unique.START_TIME
: heure GMT de début pour l'intervalle de maintenance des VM dans ce groupe de nœuds. Définissez ce paramètre sur00:00
,04:00
,08:00
,12:00
,16:00
ou20:00
. Si ce champ n'est pas défini, le groupe de nœuds n'a pas d'intervalle de maintenance défini.AUTOSCALER_MODE
: règle d'autoscaler pour le groupe de nœuds. Il doit s'agir de l'un des éléments suivants :off
: pour gérer manuellement la taille du groupe de nœuds.on
: les nœuds sont automatiquement ajoutés ou supprimés du groupe de nœuds.only-scale-out
: ajoute des nœuds au groupe de nœuds lorsque la capacité supplémentaire est requise.
MIN_NODES
: taille minimale du groupe de nœuds. La valeur par défaut est0
et doit être un nombre entier inférieur ou égal àMAX_NODES
.MAX_NODES
: taille maximale du groupe de nœuds. Cette valeur doit être inférieure ou égale à100
et supérieure ou égale àMIN_NODES
. Obligatoire siAUTOSCALER_MODE
n'est pas défini suroff
.
REST
Utilisez la méthode nodeGroups.insert
pour créer un groupe de nœuds à partir d'un modèle de nœud précédemment créé :
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/nodeGroups?initialNodeCount=TARGET_SIZE
{ "nodeTemplate": "regions/REGION/nodeTemplates/TEMPLATE_NAME", "name": "GROUP_NAME", "maintenancePolicy": MAINTENANCE_POLICY, "maintenanceWindow": { "startTime": "START_TIME" } "autoscalingPolicy": { "mode": AUTOSCALER_MODE, "minNodes": MIN_NODES, "maxNodes": MAX_NODES }, }
Remplacez l'élément suivant :
PROJECT_ID
: ID du projet.ZONE
: zone dans laquelle créer le groupe de nœuds. Cette zone doit être située dans la même région que le modèle de nœud sur lequel vous basez le groupe de nœuds.TARGET_SIZE
: nombre de nœuds à créer dans le groupe.REGION
: région dans laquelle créer le groupe de nœuds. Vous devez disposer d'un modèle de nœud dans la région sélectionnée.TEMPLATE_NAME
: nom du modèle de nœud à utiliser pour créer le groupe.GROUP_NAME
: nom du nouveau groupe de nœuds.MAINTENANCE_POLICY
: règle de maintenance du groupe de nœuds. Il doit s'agir de l'une des valeurs suivantes :DEFAULT
RESTART_IN_PLACE
MIGRATE_WITHIN_NODE_GROUP
Vous pouvez également activer le contrôle de maintenance avancé (bêta) pour le groupe de nœuds à locataire unique à l'aide du champ
maintenanceInterval
. Pour en savoir plus, consultez l'article Activer le contrôle de maintenance avancée sur un nœud à locataire unique.START_TIME
: heure GMT de début pour l'intervalle de maintenance des VM dans ce groupe de nœuds. Définissez ce paramètre sur00:00
,04:00
,08:00
,12:00
,16:00
ou20:00
. Si ce champ n'est pas défini, le groupe de nœuds n'a pas d'intervalle de maintenance défini.AUTOSCALER_MODE
: règle d'autoscaler pour le groupe de nœuds. Il doit s'agir de l'une des valeurs suivantes :OFF
: gérer manuellement la taille du groupe de nœuds.ON
: les nœuds sont automatiquement ajoutés ou supprimés du groupe de nœuds.ONLY_SCALE_OUT
: ajoute des nœuds au groupe de nœuds lorsque la capacité supplémentaire est requise.
MIN_NODES
: taille minimale du groupe de nœuds. La valeur par défaut est0
et doit être un nombre entier inférieur ou égal àMAX_NODES
.MAX_NODES
: taille maximale du groupe de nœuds. Cette valeur doit être inférieure ou égale à100
et supérieure ou égale àMIN_NODES
. Obligatoire siAUTOSCALER_MODE
n'est pas défini surOFF
.
Provisionner une VM à locataire unique
Après avoir créé un groupe de nœuds basé sur un modèle de nœud précédemment créé, vous pouvez provisionner des VM individuelles sur un groupe de nœuds à locataire unique.
Pour provisionner une VM sur un nœud ou un groupe de nœuds spécifique ayant des libellés d'affinité correspondant à ceux que vous avez précédemment attribués au modèle de nœud, suivez la procédure standard de création d'une instance de VM, puis attribuez des libellés d'affinité à la VM.
Vous pouvez également utiliser la procédure suivante pour provisionner une VM sur un nœud à locataire unique à partir de la page des détails du groupe de nœuds. En fonction du groupe de nœuds sur lequel vous provisionnez des VM, Compute Engine attribue des libellés d'affinité.
Console
Dans Google Cloud Console, accédez à la page Nœuds à locataire unique.
Cliquez sur Groupes de nœuds.
Cliquez sur le nom du groupe de nœuds pour provisionner une instance de VM. Ensuite, si vous le souhaitez, pour provisionner une VM sur un nœud à locataire unique spécifique, cliquez sur le nom de celui-ci pour provisionner la VM.
Cliquez sur Créer une instance pour provisionner une instance de VM sur ce groupe de nœuds et notez les valeurs appliquées automatiquement aux champs Nom, Région et Zone, puis modifiez ces valeurs si nécessaire.
Sélectionnez une configuration de machine en spécifiant la famille de machines, la série et le type de machine. Choisissez la série correspondant au type de nœud à locataire unique.
Modifiez les paramètres de disque de démarrage, de pare-feu et autres valeurs si nécessaire.
Cliquez sur Location unique et notez les libellés d'affinité de nœuds automatiquement attribués, puis cliquez sur Parcourir pour procéder à des ajustements si nécessaire.
Cliquez sur Gestion, puis choisissez l'une des options suivantes pour le paramètre Pendant la maintenance de l'hôte :
Migrer l'instance de VM (recommandé) : la VM est migrée vers un autre nœud du groupe de nœuds lors des événements de maintenance.
Interrompre : la VM est arrêtée pendant les événements de maintenance.
Choisissez l'une des options suivantes pour le redémarrage automatique :
Activé (recommandé) : redémarre automatiquement les VM si elles sont arrêtées lors d'événements de maintenance.
Désactivé : ne redémarre pas automatiquement les VM après un événement de maintenance.
Cliquez sur Créer pour terminer la création de votre VM à locataire unique.
gcloud
Exécutez la commande gcloud compute instances
create
pour provisionner une VM sur un groupe de nœuds à locataire unique :
gcloud compute instances create VM_NAME \ [--zone=ZONE \] --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --node-group=GROUP_NAME \ --machine-type=MACHINE_TYPE \ [--maintenance-policy=MAINTENANCE_POLICY \] [--accelerator type=GPU_TYPE,count=GPU_COUNT \] [--local-ssd interface=SSD_INTERFACE \] [--restart-on-failure]
L'option --restart-on-failure
indique si les VM à locataire unique redémarrent en cas d'arrêt. Cette option est activée par défaut. Utilisez --no-restart-on-failure
pour la désactiver.
Remplacez l'élément suivant :
VM_NAME
: nom de la nouvelle VM à locataire unique.ZONE
: zone dans laquelle provisionner la VM à locataire unique.IMAGE_FAMILY
: famille d'images de l'image à utiliser pour créer la VM.IMAGE_PROJECT
: projet d'image de la famille d'images.GROUP_NAME
: nom du groupe de nœuds sur lequel provisionner la VM.MACHINE_TYPE
: type de machine de la VM à locataire unique. Exécutez la commandegcloud compute machine-types list
pour obtenir la liste des types de machines disponibles pour le projet.MAINTENANCE_POLICY
: spécifie le comportement de redémarrage des VM à locataire unique lors d'événements de maintenance. Définissez l'une des options suivantes :MIGRATE
: VM migrée vers un autre nœud du groupe de nœuds lors d'événements de maintenance.TERMINATE
: VM arrêtée pendant les événements de maintenance.
GPU_TYPE
: type de GPU. Défini sur l'un des types d'accélérateurs spécifiés lors de la création du modèle de nœud.GPU_COUNT
: nombre de GPU du total spécifié par le modèle de nœud à associer à cette VM. La valeur par défaut est1
.SSD_INTERFACE
: type d'interface SSD locale. Vous ne pouvez définir cette option que pour les instances créées à partir d'un modèle de nœud compatible avec les disques SSD locaux. Si vous spécifiez cette valeur lors de la création de l'instance et que le modèle de nœud n'est pas compatible avec le disque SSD local, la création de l'instance échoue. Variable définie surnvme
si les pilotes d'image du disque de démarrage sont optimisés pour le NVMe. Sinon, la variable est définie surscsi
. Spécifiez cette option ainsi qu'une valeur correspondante une fois pour chaque partition SSD locale.
REST
Utilisez la méthode instances.insert
pour provisionner une VM sur un groupe de nœuds à locataire unique :
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/VM_ZONE/instances
{ "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME", "scheduling": { "onHostMaintenance": MAINTENANCE_POLICY, "automaticRestart": RESTART_ON_FAILURE, "nodeAffinities": [ { "key": "compute.googleapis.com/node-group-name", "operator": "IN", "values": [ "GROUP_NAME" ] } ] }, "networkInterfaces": [ { "network": "global/networks/NETWORK", "subnetwork": "regions/REGION/subnetworks/SUBNETWORK" } ], "guestAccelerators": [ { "acceleratorType": GPU_TYPE, "acceleratorCount": GPU_COUNT } ], "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" } }, { "type":"SCRATCH", "initializeParams":{ "diskType":"zones/LOCAL_SSD_ZONE/diskTypes/local-ssd" }, "autoDelete":true, "interface":"SSD_INTERFACE" } ] }
Remplacez l'élément suivant :
PROJECT_ID
: ID du projet.VM_ZONE
: zone dans laquelle provisionner la VM à locataire unique.MACHINE_TYPE_ZONE
: zone du type de machine.MACHINE_TYPE
: type de machine de la VM à locataire unique. Utilisez la méthodemachineTypes.list
pour obtenir la liste des types de machines disponibles pour le projet.VM_NAME
: nom de la nouvelle VM à locataire unique.MAINTENANCE_POLICY
: spécifie le comportement de redémarrage des VM à locataire unique lors d'événements de maintenance. Définissez l'une des options suivantes :MIGRATE
: VM migrée vers un autre nœud du groupe de nœuds lors d'événements de maintenance.TERMINATE
: VM arrêtée pendant les événements de maintenance.
RESTART_ON_FAILURE
: indique si les VM à locataire unique redémarrent en cas d'arrêt. La valeur par défaut esttrue
.GROUP_NAME
: nom du groupe de nœuds sur lequel provisionner la VM.NETWORK
: URL de la ressource réseau pour cette VM.REGION
: région contenant le sous-réseau de cette VM.SUBNETWORK
: URL de la ressource de sous-réseau pour cette VM.GPU_TYPE
: type de GPU. Défini sur l'un des types d'accélérateurs spécifiés lors de la création du modèle de nœud.GPU_COUNT
: nombre de GPU du total spécifié par le modèle de nœud à associer à cette VM. La valeur par défaut est1
.IMAGE_PROJECT
: projet d'image de la famille d'images.IMAGE_FAMILY
: famille d'images de l'image à utiliser pour créer la VM.LOCAL_SSD_ZONE
: zone du disque SSD local.SSD_INTERFACE
: type d'interface SSD locale. Définie surNVME
si les pilotes d'image du disque de démarrage sont optimisés pour le NVMe. Sinon, la valeur est définie surSCSI
.
Provisionner un groupe de VM à locataire unique
Les groupes d'instances gérés (MIG) vous permettent de provisionner un groupe de VM à locataire unique identiques. Les libellés d'affinité vous permettent de spécifier le nœud ou le groupe de nœuds à locataire unique sur lequel provisionner le groupe de VM à locataire unique.
Pour les MIG régionaux, vous devez créer des groupes de nœuds dans chacune des zones du MIG régional et spécifier des affinités de nœuds pour ces groupes de nœuds dans le modèle d'instance du MIG régional.
gcloud
Exécutez la commande
gcloud compute instance-templates create
afin de créer un modèle de groupe d'instances géré destiné à un groupe de VM à créer sur un groupe de nœuds à locataire unique :gcloud compute instance-templates create INSTANCE_TEMPLATE \ --machine-type=MACHINE_TYPE \ --image-project=IMAGE_PROJECT \ --image-family=IMAGE_FAMILY \ --node-group=GROUP_NAME \ [--accelerator type=GPU_TYPE,count=GPU_COUNT \] [--local-ssd interface=SSD_INTERFACE]
Remplacez les éléments suivants :
INSTANCE_TEMPLATE
: nom du nouveau modèle d'instance.MACHINE_TYPE
: type de machine de la VM à locataire unique. Exécutez la commandegcloud compute machine-types list
pour obtenir la liste des types de machines disponibles pour le projet.IMAGE_PROJECT
: projet d'image de la famille d'images.IMAGE_FAMILY
: famille d'images de l'image à utiliser pour créer la VM.GROUP_NAME
: nom du groupe de nœuds sur lequel provisionner la VM. Si vous souhaitez utiliser ce modèle d'instance pour créer un MIG régional couvrant plusieurs zones, utilisez l'option--node-affinity-file
pour spécifier une liste de valeurs pour les groupes de nœuds du MIG régional.GPU_TYPE
: type de GPU. Défini sur l'un des types d'accélérateurs spécifiés lors de la création du modèle de nœud.GPU_COUNT
: nombre de GPU du total spécifié par le modèle de nœud à associer à cette VM. La valeur par défaut est1
.SSD_INTERFACE
: type d'interface SSD locale. Définie surnvme
si les pilotes d'image du disque de démarrage sont optimisés pour le NVMe. Sinon, la valeur est définie surscsi
. Spécifiez cette option ainsi qu'une valeur correspondante une fois pour chaque partition SSD locale.
Exécutez la commande
gcloud compute instance-groups managed create
pour créer un modèle de groupe d'instances géré dans votre groupe de nœuds à locataire unique :gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --size=SIZE \ --template=INSTANCE_TEMPLATE \ --zone=ZONE
Remplacez l'élément suivant :
INSTANCE_GROUP_NAME
: Nom de ce groupe d'instances.SIZE
: nombre de VM à inclure dans ce groupe d'instances. Votre groupe de nœuds doit disposer de suffisamment de ressources pour pouvoir prendre en charge les instances de ce groupe d'instances géré. Utilisez l'autoscaler de groupe d'instances géré pour gérer automatiquement la taille des groupes d'instances gérés.INSTANCE_TEMPLATE
: nom du modèle d'instance à utiliser pour créer ce MIG. Le modèle doit comporter un ou plusieurs libellés d'affinité de nœuds pointant vers les groupes de nœuds appropriés.ZONE
: zone dans laquelle créer le groupe d'instances géré. Pour un MIG régional, remplacez l'option--zone
par l'option--region
et spécifiez une région. Ajoutez également l'option--zones
pour spécifier toutes les zones dans lesquelles les groupes de nœuds existent.
REST
Exécutez la commande
instanceTemplates.insert
pour créer un modèle de groupe d'instances géré dans votre groupe de nœuds à locataire unique :POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/TEMPLATE_ZONE/instance-templates
{ "name": "INSTANCE_TEMPLATE", "properties": { "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "scheduling": { "nodeAffinities": [ { "key": "compute.googleapis.com/node-group-name", "operator": "IN", "values": [ "GROUP_NAME" ] } ] }, "networkInterfaces": [ { "network": "global/networks/NETWORK", "subnetwork": "regions/REGION/subnetworks/SUBNETWORK" } ], "guestAccelerators": [ { "acceleratorType": GPU_TYPE, "acceleratorCount": GPU_COUNT } ], "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" } }, { "type":"SCRATCH", "initializeParams":{ "diskType":"zones/LOCAL_SSD_ZONE/diskTypes/local-ssd" }, "autoDelete":true, "interface":"SSD_INTERFACE" } ] } }Remplacez l'élément suivant :
PROJECT_ID
: ID du projet.TEMPLATE_ZONE
: zone dans laquelle créer le modèle d'instance.INSTANCE_TEMPLATE
: nom du nouveau modèle d'instance.MACHINE_TYPE_ZONE
: zone du type de machine.MACHINE_TYPE
: type de machine de la VM à locataire unique. Utilisez la méthodemachineTypes.list
pour obtenir la liste des types de machines disponibles pour le projet.GROUP_NAME
: nom du groupe de nœuds sur lequel provisionner la VM. Si vous souhaitez utiliser ce modèle d'instance pour créer un MIG régional existant dans plusieurs zones, spécifiez une liste de groupes de nœuds qui existent dans les mêmes zones que celles du MIG régional.NETWORK
: URL de la ressource réseau pour ce modèle d'instance.REGION
: région contenant le sous-réseau de ce modèle d'instance.SUBNETWORK
: URL de la ressource de sous-réseau pour ce modèle d'instance.GPU_TYPE
: type de GPU. Défini sur l'un des types d'accélérateurs spécifiés lors de la création du modèle de nœud.GPU_COUNT
: nombre de GPU du total spécifié par le modèle de nœud à associer à cette VM. La valeur par défaut est1
.IMAGE_PROJECT
: projet d'image de la famille d'images.IMAGE_FAMILY
: famille d'images de l'image à utiliser pour créer la VM.LOCAL_SSD_ZONE
: zone du disque SSD local.SSD_INTERFACE
: type d'interface SSD locale. Définie surNVME
si les pilotes d'image du disque de démarrage sont optimisés pour le NVMe. Sinon, la valeur est définie surSCSI
.
Utilisez la méthode
instanceGroupManagers.insert
pour créer un MIG dans votre groupe de nœuds à locataire unique en partant du modèle d'instance créé précédemment. Si vous souhaitez créer un MIG régional, utilisez la méthoderegionInstanceGroupManagers.insert
et spécifiez la région et les zones de tous les groupes de nœuds comme indiqué dans le modèle d'instance.Par exemple, pour créer un MIG zonal, exécutez la requête suivante :
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "baseInstanceName": "NAME_PREFIX", "name": "INSTANCE_GROUP_NAME", "targetSize": SIZE, "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE" }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet.ZONE
: zone dans laquelle créer le groupe d'instances géré.NAME_PREFIX
: nom du préfixe de chacune des instances du groupe d'instances géré.INSTANCE_GROUP_NAME
: nom du groupe d'instances.SIZE
: nombre de VM à inclure dans ce groupe d'instances. Votre groupe de nœuds doit disposer de suffisamment de ressources pour pouvoir prendre en charge les instances de ce groupe d'instances géré. Utilisez l'autoscaler de groupe d'instances géré pour gérer automatiquement la taille des groupes d'instances gérés.INSTANCE_TEMPLATE
: nom du modèle d'instance à utiliser pour créer ce groupe. Le modèle doit comporter un libellé d'affinité de nœud pointant vers le groupe de nœuds approprié.
Configurer des libellés d'affinité de nœuds
Les libellés d'affinité de nœud vous permettent de regrouper logiquement des groupes de nœuds et de planifier des VM sur un ensemble spécifique de groupes de nœuds. Vous pouvez également utiliser des libellés d'affinité de nœuds pour planifier des VM sur des groupes de nœuds dans différentes zones, tout en conservant les groupes de nœuds dans un groupe logique. La procédure suivante montre comment utiliser des libellés d'affinité pour associer des VM à un groupe de nœuds spécifique utilisé pour les charges de travail de production. Cet exemple montre comment planifier une seule VM, mais vous pouvez également utiliser des groupes d'instances gérés pour planifier un groupe de VM.
gcloud
Exécutez la commande
gcloud compute sole-tenancy node-templates create
afin de créer un modèle de nœud avec un ensemble de libellés d'affinité pour une charge de travail de production :gcloud compute sole-tenancy node-templates create prod-template \ --node-type=n1-node-96-624 \ --node-affinity-labels workload=frontend,environment=prod
Exécutez la commande
gcloud compute sole-tenancy node-templates describe
pour afficher les libellés d'affinité de nœuds attribués au modèle de nœud.Exécutez la commande
gcloud compute sole-tenancy node-groups create
pour créer un groupe de nœuds utilisant le modèle de production :gcloud compute sole-tenancy node-groups create prod-group \ --node-template=prod-template \ --target-size=1
Créez un fichier
node-affinity-prod.json
pour spécifier l'affinité de vos VM de production. Par exemple, vous pouvez créer un fichier spécifiant que les VM ne s'exécutent que sur des nœuds avec les affinitésworkload=frontend
etenvironment=prod
. Créez le fichier d'affinité de nœuds à l'aide de Cloud Shell ou créez-le à l'emplacement de votre choix.[ { "key" : "workload", "operator" : "IN", "values" : ["frontend"] }, { "key" : "environment", "operator" : "IN", "values" : ["prod"] } ]
Utilisez le fichier
node-affinity-prod.json
avec la commandegcloud compute instances create
pour planifier une VM sur le groupe de nœuds avec les libellés d'affinité correspondants.gcloud compute instances create prod-vm \ --node-affinity-file node-affinity-prod.json \ --machine-type=n1-standard-2
Exécutez la commande
gcloud compute instances describe
et vérifiez le champscheduling
pour visualiser les affinités de nœuds attribuées à la VM.
Configurer des libellés d'anti-affinité de nœuds
Les libellés d'affinité de nœuds peuvent être configurés en tant que libellés d'anti-affinité pour empêcher les VM de s'exécuter sur des nœuds spécifiques. Par exemple, vous pouvez utiliser des libellés d'anti-affinité pour éviter que les VM que vous utilisez à des fins de développement soient planifiées sur les mêmes nœuds que votre VM de production. L'exemple suivant montre comment utiliser des libellés d'affinité pour empêcher les VM de s'exécuter sur des groupes de nœuds spécifiques. Cet exemple montre comment planifier une VM unique, mais vous pouvez également utiliser des groupes d'instances gérés pour planifier un groupe de VM.
gcloud
Spécifiez l'affinité de vos VM de développement en créant un objet
node-affinity-dev.json
avec Cloud Shell ou en le créant à l'emplacement de votre choix. Par exemple, créez un fichier qui configure les VM pour qu'elles s'exécutent sur n'importe quel groupe de nœuds avec l'affinitéworkload=frontend
, tant qu'il ne s'agit pas d'un groupe de production (environment=prod
) :[ { "key" : "workload", "operator" : "IN", "values" : ["frontend"] }, { "key" : "environment", "operator" : "NOT_IN", "values" : ["prod"] } ]
Utilisez le fichier
node-affinity-dev.json
avec la commandegcloud compute instances create
pour créer la VM de développement :gcloud compute instances create dev-vm \ --node-affinity-file=node-affinity-dev.json \ --machine-type=n1-standard-2
Exécutez la commande
gcloud compute instances describe
et vérifiez le champscheduling
pour visualiser les anti-affinités de nœuds attribuées à la VM.
Supprimer un groupe de nœuds
Si vous devez supprimer un groupe de nœuds à locataire unique, supprimez d'abord les VM du groupe de nœuds.
Console
Accédez à la page Nœuds à locataire unique.
Cliquez sur le nom du groupe de nœuds à supprimer.
Pour chaque nœud du groupe de nœuds, cliquez sur le nom du nœud et supprimez les instances de VM individuelles sur la page des détails du nœud, ou suivez la procédure standard pour supprimer une VM individuelle. Pour supprimer des VM d'un groupe d'instances géré, supprimez le groupe d'instances géré.
Après avoir supprimé toutes les instances de VM exécutées sur tous les nœuds du groupe, revenez à la page Nœuds à locataire unique.
Cliquez sur Groupes de nœuds.
Sélectionnez le nom du groupe de nœuds à supprimer.
Cliquez sur Supprimer.
gcloud
Répertoriez les instances de VM en cours d'exécution sur les nœuds du groupe de nœuds à l'aide de la commande
gcloud compute sole-tenancy node-groups list-nodes
:gcloud compute sole-tenancy node-groups list-nodes GROUP_NAME \ --zone=ZONE
Remplacez les éléments suivants :
GROUP_NAME
: nom du groupe de nœudsZONE
: zone du groupe de nœuds
Si des VM s'exécutent sur le groupe de nœuds, suivez la procédure permettant de supprimer une VM individuelle ou la procédure de suppression d'un groupe d'instances géré.
Après avoir supprimé toutes les VM s'exécutant sur tous les nœuds du groupe de nœuds, supprimez le groupe de nœuds à l'aide de la commande
gcloud compute sole-tenancy node-groups delete
:gcloud compute sole-tenancy node-groups delete GROUP_NAME \ --zone=ZONE
Remplacez l'élément suivant :
GROUP_NAME
: nom du groupe de nœudsZONE
: zone du groupe de nœuds
REST
Répertoriez les instances de VM en cours d'exécution sur les nœuds du groupe de nœuds à l'aide de la méthode
nodeGroups.listNodes
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/nodeGroups/GROUP_NAME/listNodes
Remplacez l'élément suivant :
PROJECT_ID
: ID du projetZONE
: zone du groupe de nœudsGROUP_NAME
: groupe pour lequel répertorier les VM
Si des VM s'exécutent sur le groupe de nœuds, suivez la procédure permettant de supprimer une VM individuelle ou la procédure de suppression d'un groupe d'instances géré.
Après avoir supprimé toutes les VM en cours d'exécution sur tous les nœuds du groupe de nœuds, supprimez le groupe à l'aide de la méthode
nodeGroups.delete
:DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/nodeGroups/GROUP_NAME
Remplacez l'élément suivant :
PROJECT_ID
: ID du projetZONE
: zone du groupe de nœudsGROUP_NAME
: nom du groupe de nœuds à supprimer
Supprimer un modèle de nœud
Vous pouvez supprimer un modèle de nœud après avoir supprimé tous les groupes de nœuds qui l'utilisent.
Console
Dans Google Cloud Console, accédez à la page Nœuds à locataire unique.
Cliquez sur Modèles de nœud.
Sélectionnez le nom d'un modèle de nœud inutilisé.
Cliquez sur Supprimer.
gcloud
Exécutez la commande gcloud compute sole-tenancy node-templates delete
pour supprimer un modèle de nœud inutilisé :
gcloud compute sole-tenancy node-templates delete TEMPLATE_NAME \ --region=REGION
Remplacez l'élément suivant :
TEMPLATE_NAME : nom du modèle de nœud à supprimer
REGION : région du modèle de nœud
REST
Utilisez la méthode compute.nodeTemplates.delete
pour supprimer un modèle de nœud inutilisé :
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/nodeTemplates/TEMPLATE_NAME
Remplacez les éléments suivants :
PROJECT_ID : ID de votre projet.
REGION : région Google Cloud contenant le modèle de nœud
TEMPLATE_NAME : nom du modèle de nœud à supprimer
Étape suivante
Pour en savoir plus sur la tarification des nœuds à locataire unique, consultez la section Tarifs des nœuds à locataire unique.
Pour en savoir plus sur l'activation de l'autoscaling sur les groupes de nœuds à locataire unique, consultez la page Autoscaler de groupe de nœuds.
Pour en savoir plus sur l'ajout de licences existantes à Google Cloud, consultez la page Utiliser vos propres licences.
Pour en savoir plus sur les nœuds à locataire unique, consultez la page Nœuds à locataire unique.