Les groupes de nœuds à locataire unique partagés sont semblables aux groupes de nœuds à locataire unique locaux. Par exemple, les groupes de nœuds partagés ont le même coût, consomment le même quota et résident dans un projet parent dans la hiérarchie des ressources.
La différence entre les groupes de nœuds partagés et les groupes de nœuds locaux est que d'autres projets de votre organisation peuvent provisionner des instances de machines virtuelles (VM) dans les groupes de nœuds partagés.
Le partage d'un groupe de nœuds entre plusieurs projets ou organisations peut vous aider à effectuer les opérations suivantes :
Regroupez les groupes de nœuds que vous gérez dans un seul projet, puis partagez ces nœuds avec d'autres projets ou l'ensemble de l'organisation
Réduire les coûts en supprimant les nœuds après le regroupement des VM de différents projets en groupes de nœuds sous-utilisés
Gérer les nœuds à locataire unique avec une seule équipe
Partager des nœuds à locataire unique avec des projets plus petits tout en conservant les limites de sécurité et de contrôle d'accès entre ces projets
Effectuer une migration à chaud entre des groupes de nœuds dans un même projet
Améliorez l'utilisation de vos groupes de nœuds et réduisez le nombre de nœuds de maintenance réservés lorsque vous utilisez la règle de maintenance Migrer dans le groupe de nœuds.
Le schéma suivant montre un groupe de nœuds partagé avec d'autres projets afin que les autres services qui gèrent les VM de ces projets puissent provisionner des VM dans un groupe de nœuds partagé.
Avantages de l'utilisation de groupes de nœuds partagés
Le tableau suivant compare les projets qui utilisent des groupes de nœuds locaux avec des projets utilisant des groupes de nœuds partagés. Notez que la sous-utilisation des processeurs virtuels diminue dans les projets utilisant des groupes de nœuds partagés.
Configuration du projet | Groupes de nœuds locaux | Groupes de nœuds partagés |
---|---|---|
Projets | 10 | 10 |
Processeur virtuel / projet | 24 | 24 |
Groupes de nœuds | 10 | 1 |
Nœuds / Groupes de nœuds | 1 | 3 |
Processeur virtuel / nœud | 80 | 80 |
Utilisation / Groupe de nœuds | 24 | 80 |
Sous-utilisation / Groupe de nœuds | 56 | 0 |
Sous-utilisation totale | 10 x 56 = 560 processeurs virtuels | 1 x 0 = 0 processeur virtuel |
Paramètres de partage des groupes de nœuds
Compute Engine utilise les paramètres suivants pour partager des groupes de nœuds et provisionner des VM dans les groupes de nœuds partagés :
Un paramètre de partage que vous configurez lorsque vous créez ou mettez à jour le groupe de nœuds à locataire unique. Pour spécifier si vous souhaitez partager le groupe de nœuds avec d'autres projets ou avec l'ensemble de l'organisation, utilisez les paramètres de la gcloud CLI (
--share-setting
,--share-with
) ou les paramètres REST (shareSetting
,shareWith
).Un libellé d'affinité de nœud
compute.googleapis.com/project
par défaut que vous utilisez lorsque vous provisionnez une VM dans un groupe de nœuds partagé à l'aide de libellés d'affinité de nœuds. Pour en savoir plus sur les autres libellés d'affinité de nœuds par défaut, consultez la section Libellés d'affinité par défaut.
Remarques sur les règles de maintenance
Lorsqu'un groupe de nœuds utilise la règle de maintenance Migrer dans le groupe de nœuds, Compute Engine réserve au moins un nœud pour les événements de migration à chaud. Le groupe de nœuds doit donc comporter au moins deux nœuds. Vous ne pouvez pas planifier de VM dans le nœud réservé. Par conséquent, les groupes de nœuds avec cette règle de maintenance présentent souvent une utilisation globale plus faible. Les charges de travail qui nécessitent la stratégie de maintenance Migrer dans le groupe de nœuds sont donc parfaitement adaptées au partage de groupes de nœuds, car elles présentent souvent le meilleur avantage d'une utilisation améliorée.
Rôles et autorisations IAM
Gardez à l'esprit les informations suivantes sur les rôles et les autorisations IAM lorsque vous partagez un groupe de nœuds :
Si un groupe de nœuds est partagé avec un projet, tout utilisateur pouvant créer des VM dans les projets répertoriés ou dans l'organisation peut provisionner des VM de ces projets dans les groupes de nœuds partagés sans modifier les rôles ni les autorisations IAM.
Le rôle IAM
compute.soleTenantViewer
vous permet de répertorier et d'afficher les groupes de nœuds (gcloud CLI/REST). Vous ne pouvez pas modifier les groupes de nœuds avec ce rôle. Tout utilisateur disposant de ce rôle ou disposant des autorisations nécessaires pour répertorier les groupes de nœuds, indépendamment des autorisations IAM sur la VM, peut afficher l'ID du projet, le nom, le type de machine et des informations sur les disques SSD locaux et les GPU pour toutes les VM du groupe de nœuds.
Limites
Limites des régimes de conformité :
- Indépendamment des autorisations IAM sur la VM, tout utilisateur disposant des autorisations nécessaires pour répertorier les groupes de nœuds peut afficher l'ID du projet, le nom et le type de machine de toutes les VM du groupe de nœuds. Par conséquent, en raison du risque de divulgation d'informations entre projets, les projets dont les VM sont provisionnées dans des groupes de nœuds partagés doivent être soumis au même régime de conformité.
Limites de la console Google Cloud :
- Si vous n'êtes pas autorisé à afficher les VM dans le groupe de nœuds partagé, ces VM n'apparaissent pas dans la liste des VM de la page Nœuds à locataire unique dans la console Google Cloud.
- Après avoir modifié les paramètres de partage sur la page Groupes de nœuds à locataire unique, le paramètre Partagé avec n'est pas mis à jour dans l'interface utilisateur. Pour afficher le paramètre Partagé avec mis à jour, accédez à la page Nœuds à locataire unique.
- Après avoir partagé un groupe de nœuds avec tous les projets ou certains projets d'une organisation, vous ne pouvez voir le groupe de nœuds partagé qu'à partir du projet dans lequel il se trouve, et non à partir des projets avec lesquels il a été partagé. Pour provisionner une VM dans le groupe de nœuds partagé, accédez à la page Instances de VM du projet avec lequel le groupe de nœuds est partagé, puis modifiez les libellés d'affinité des nœuds à locataire unique.
Restrictions de partage :
- Vous devez mettre à jour les paramètres de partage du projet propriétaire du groupe de nœuds.
- Vous pouvez spécifier un maximum de 100 projets lorsque vous utilisez le paramètre de partage
projects
. - Vous ne pouvez pas partager des groupes de nœuds entre des organisations. Par exemple, si vous migrez un projet contenant un groupe de nœuds partagé d'une organisation à une autre, vous devez également migrer tous les projets dont des VM s'exécutent dans ce groupe de nœuds partagé.
- Vous ne pouvez pas effectuer une migration à chaud entre des projets lorsque vous utilisez des groupes de nœuds à locataire unique partagés. Pour en savoir plus, consultez la page Migrer à chaud des VM manuellement.
Tarifs
Les VM des groupes de nœuds partagés n'entraînent pas de frais supplémentaires, et aucuns frais supplémentaires ne sont facturés pour le partage des groupes de nœuds. Pour en savoir plus sur la tarification des nœuds à locataire unique, consultez la section Tarifs des nœuds à locataire unique.
Avant de commencer
- Avant de créer un groupe de nœuds à locataire unique, créez un modèle de nœud à locataire unique.
- 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 Google Cloud services et aux API.
Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine en sélectionnant l'une des options suivantes:
Select the tab for how you plan to use the samples on this page:
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
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
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.
-
Créer un groupe de nœuds et le partager
Pour créer un groupe de nœuds et le partager avec d'autres projets ou avec l'ensemble de l'organisation, utilisez la console Google Cloud, la gcloud CLI ou REST.
Autorisations requises pour cette tâche
Pour effectuer cette tâche, vous devez disposer des autorisations suivantes :
-
Autorisations
compute.nodeGroups.create
sur le projet
Créez un groupe de nœuds à locataire unique. Pour plus d'informations, consultez la section Créer un groupe de nœuds à locataire unique.
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 créer un groupe de nœuds partagé, exécutez la commande gcloud compute
sole-tenancy node-groups create
suivante.
gcloud compute sole-tenancy node-groups createNODE_GROUP \ --zone=ZONE \ --node-template=NODE_TEMPLATE \ --target-size=SIZE \ --share-setting=SHARE_SETTING \ --share-with=PROJECTS
Remplacez les éléments suivants :
NODE_GROUP
: nom du groupe de nœudsZONE
: zone dans laquelle créer le groupe de nœuds.NODE_TEMPLATE
: nom du modèle de nœud créé précédemment.SIZE
: nombre de nœuds du groupe de nœuds.SHARE_SETTING
: paramètre de partage pour le groupe de nœuds. Définissez la valeur surprojects
pour le partager avec des projets spécifiques ou surorganization
pour le partager avec l'ensemble de l'organisation.PROJECTS
: liste des ID ou des numéros de projets avec lesquels partager le groupe de nœuds. Obligatoire uniquement si vous définissezSHARE_SETTING
surprojects
.
Pour créer un groupe de nœuds partagé, utilisez la méthode nodeGroups.insert
suivante.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT /zones/ZONE /nodeGroups { ... "name":NODE_GROUP , "nodeTemplate":NODE_TEMPLATE , "size":SIZE , "shareSettings": { "shareType":SHARE_TYPE , "projectMap": { string: { "projectId":PROJECTS }, } } ... }
Remplacez les éléments suivants :
PROJECT
: nom du projet dans lequel créer le groupe de nœuds.ZONE
: zone dans laquelle créer le groupe de nœuds.NODE_GROUP
: nom du groupe de nœudsNODE_TEMPLATE
: nom du modèle de nœud créé précédemment.SIZE
: nombre de nœuds du groupe de nœuds.SHARE_TYPE
: paramètre de partage pour le groupe de nœuds. Définissez la valeur surSPECIFIC_PROJECTS
pour le partager avec des projets spécifiques ou surORGANIZATION
pour le partager avec l'ensemble de l'organisation.PROJECTS
: liste des ID ou des numéros de projets avec lesquels partager le groupe de nœuds. Obligatoire uniquement si vous définissezSHARE_TYPE
surSPECIFIC_PROJECTS
.
Provisionner une VM à locataire unique dans un groupe de nœuds partagé
Pour provisionner une VM à locataire unique dans un groupe de nœuds partagé, utilisez la console Google Cloud, la gcloud CLI ou REST.
Dans la console Google Cloud, basculez vers un projet avec lequel vous avez partagé un groupe de nœuds.
Accédez à la page Instances de VM.
Cliquez sur Créer une instance.
Dans le champ Zone, sélectionnez la zone du groupe de nœuds partagé.
Dans Configuration de la machine > Série, choisissez le même type de machine que le modèle de groupe de nœuds à locataire unique partagé.
Développez la section Options avancées.
Développez la section Location unique.
Cliquez sur Parcourir.
Choisissez Sélectionner un projet et spécifiez le projet contenant le groupe de nœuds partagé.
Choisissez le groupe de nœuds à locataire unique ou un nœud à locataire unique spécifique dans ce groupe sur lequel provisionner la VM.
Provisionner une VM dans un groupe de nœuds partagé à l'aide du nom du groupe de nœuds
Pour provisionner une VM à locataire unique dans un groupe de nœuds partagé à l'aide du nom du groupe de nœuds, exécutez la commande gcloud compute instances create
suivante.
gcloud compute instances createVM_NAME \ --machine-type=MACHINE_TYPE \ --node-group=NODE_GROUP \ --node-project=NODE_PROJECT
Remplacez les éléments suivants :
VM_NAME
: nom de la nouvelle VM à locataire unique à créer dans un groupe de nœuds partagé.MACHINE_TYPE
: type de machine de la nouvelle VM à locataire unique.NODE_GROUP
: nom du groupe de nœuds partagé dans lequel créer la VM à locataire uniqueNODE_PROJECT
: projet contenant le groupe de nœuds dans lequel provisionner la VM
Provisionner une VM dans un groupe de nœuds partagé à l'aide d'un fichier d'affinité de nœuds
Pour provisionner une VM à locataire unique dans un groupe de nœuds partagé à l'aide d'un fichier d'affinité de nœud, utilisez la commande gcloud compute instances create
suivante.
gcloud compute instances createVM_NAME \ --machine-type=MACHINE_TYPE \ --node-affinity-file=NODE_AFFINITY_FILE
Remplacez les éléments suivants :
VM_NAME
: nom de la VM à locataire unique à créer dans un groupe de nœuds partagé à l'aide d'un libellé d'affinité.MACHINE_TYPE
: type de machine de la VM à locataire unique à créer dans un groupe de nœuds partagé.NODE_AFFINITY_FILE
: nom du fichier.json
contenant les informations d'affinité de nœuds. Dans le fichier d'affinité de nœud, définissez la clé du libellé d'affinité sur"compute.googleapis.com/project"
, l'opérateur sur"IN"
et la valeur sur le projet contenant le groupe de nœuds. Pour en savoir plus sur la configuration de l'affinité de nœuds, consultez la page Configurer des libellés d'affinité de nœuds.
Pour provisionner une VM à locataire unique dans un groupe de nœuds partagé à l'aide d'un fichier d'affinité de nœud, utilisez la méthode nodeGroups.insert
suivante.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT /zones/ZONE /instances { ... "name":VM_NAME , "machineType":MACHINE_TYPE , "scheduling": { ... "nodeAffinities": [ { "key":KEY , "operator":OPERATOR , "values": [VALUE ] } ], ... }, ... }
Remplacez les éléments suivants :
PROJECT
: nom du projet propriétaire du groupe de nœuds.ZONE
: zone du groupe de nœudsVM_NAME
: nom de la VM à locataire unique à créer dans un groupe de nœuds partagé à l'aide d'un libellé d'affinité.MACHINE_TYPE
: type de machine de la VM à locataire unique à créer dans un groupe de nœuds partagé.KEY
: libellé d'affinité. Défini sur"compute.googleapis.com/project"
.OPERATOR
: opérateur libellé de l'affinité. Défini sur"IN"
.VALUE
: projet contenant le groupe de nœuds dans lequel provisionner la VM. Spécifiez un projet à l'aide de son nom ou de son ID.
Pour en savoir plus sur la configuration de l'affinité de nœuds, consultez la page Configurer des libellés d'affinité de nœuds.
Afficher les paramètres de partage d'un groupe de nœuds
Pour afficher les paramètres de partage d'un groupe de nœuds, utilisez la console Google Cloud, la gcloud CLI ou REST.
Autorisations requises pour cette tâche
Pour effectuer cette tâche, vous devez disposer des autorisations suivantes :
-
Autorisations
compute.nodeGroups.list
sur le projet
Dans Google Cloud Console, accédez à la page Nœuds à locataire unique.
Pour afficher les propriétés du groupe de nœuds, cliquez sur le nom du groupe de nœuds dans la colonne Nom.
Pour afficher les paramètres de partage d'un groupe de nœuds, utilisez la commande gcloud
compute sole-tenancy node-groups describe
suivante.
gcloud compute sole-tenancy node-groups describeNODE_GROUP
Remplacez NODE_GROUP
par le nom du groupe de nœuds pour lequel vous souhaitez afficher les paramètres de partage.
Pour afficher les paramètres de partage d'un groupe de nœuds, utilisez la méthode nodeGroups.get
suivante.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT /zones/ZONE /nodeGroups
Remplacez les éléments suivants :
PROJECT
: nom du projet associé au groupe de nœuds pour lequel afficher les paramètres de partageZONE
: zone contenant le groupe de nœuds pour lequel vous souhaitez afficher les paramètres de partage.
Partager un groupe de nœuds existant
Pour partager un groupe de nœuds existant avec d'autres projets ou l'ensemble de l'organisation, utilisez la console Google Cloud, la gcloud CLI ou REST.
Autorisations requises pour cette tâche
Pour effectuer cette tâche, vous devez disposer des autorisations suivantes :
-
Autorisations
compute.nodeGroups.update
sur le projet dans lequel vous avez créé le groupe de nœuds
Dans Google Cloud Console, accédez à la page Nœuds à locataire unique.
Dans la colonne Nom, cliquez sur le nom du groupe de nœuds.
Pour partager le groupe de nœuds avec tous les projets de l'organisation ou avec des projets sélectionnés au sein de l'organisation, accédez à Présentation > Partagé avec, cliquez sur Modifier .
Pour mettre à jour les paramètres de partage d'un groupe de nœuds, utilisez la commande gcloud
compute sole-tenancy node-groups update
suivante.
gcloud compute sole-tenancy node-groups updateNODE_GROUP \ --zone=ZONE \ --share-setting=SHARE_SETTING \ --share-with=PROJECTS
Remplacez les éléments suivants :
NODE_GROUP
: nom du groupe de nœuds pour lequel vous souhaitez mettre à jour les paramètres de partage.SHARE_SETTING
: paramètre de partage pour le groupe de nœuds. Définissez la valeur surprojects
pour le partager avec des projets spécifiques ou surorganization
pour le partager avec l'ensemble de l'organisation.PROJECTS
: liste des ID ou des numéros de projets avec lesquels partager le groupe de nœuds. Obligatoire uniquement si vous définissezSHARE_SETTING
surprojects
.
Pour mettre à jour les paramètres de partage d'un groupe de nœuds, utilisez la méthode nodeGroups.patch
suivante.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT /zones/ZONE /nodeGroups/NODE_GROUP { "shareSettings": { "shareType":SHARE_TYPE , "projectMap": { string: { "projectId":PROJECTS }, } } }
Remplacez les éléments suivants :
PROJECT
: nom du projet contenant les groupes de nœuds pour lesquels mettre à jour les paramètres de partage.ZONE
: zone contenant les groupes de nœuds pour lesquels vous souhaitez mettre à jour les paramètres de partage.NODE_GROUP
: nom du groupe de nœuds pour lequel vous souhaitez mettre à jour les paramètres de partage.SHARE_TYPE
: paramètre de partage pour le groupe de nœuds. Définissez la valeur surprojects
pour le partager avec des projets spécifiques ou surorganization
pour le partager avec l'ensemble de l'organisation.PROJECTS
: liste des ID ou des numéros de projets avec lesquels partager le groupe de nœuds. Obligatoire uniquement si vous définissezSHARE_SETTING
surSPECIFIC_PROJECTS
.
Arrêter le partage d'un groupe de nœuds
Pour arrêter de partager un groupe de nœuds avec d'autres projets ou l'ensemble de l'organisation, utilisez la gcloud CLI ou REST.
Autorisations requises pour cette tâche
Pour effectuer cette tâche, vous devez disposer des autorisations suivantes :
-
Autorisations
compute.nodeGroups.update
sur le projet dans lequel vous avez créé le groupe de nœuds
Dans Google Cloud Console, accédez à la page Nœuds à locataire unique.
Cliquez sur le nom du groupe de nœuds.
Dans Présentation > Partagé avec, cliquez sur Modifier .
Pour arrêter le partage, sélectionnez Ne pas partager ce groupe de nœuds avec d'autres projets.
Pour arrêter de partager un groupe de nœuds avec d'autres projets ou l'ensemble de l'organisation, utilisez la commande gcloud compute sole-tenancy node-groups update
suivante.
gcloud compute sole-tenancy node-groups updateNODE_GROUP \ --zone=ZONE \ --share-setting=local
Remplacez NODE_GROUP
par le nom du groupe de nœuds pour arrêter le partage.
Pour arrêter de partager un groupe de nœuds avec d'autres projets ou l'ensemble de l'organisation, utilisez la méthode nodeGroups.patch
suivante.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT /zones/ZONE /nodeGroups/NODE_GROUP { "shareSettings": { "shareType":LOCAL } }
Remplacez les éléments suivants :
PROJECT
: nom du projet avec le groupe de nœuds pour lequel arrêter le partage.ZONE
: zone contenant le groupe de nœuds pour arrêter le partage.NODE_GROUP
: nom du groupe de nœuds pour lequel arrêter le partage.
Supprimer un groupe de nœuds partagé du projet propriétaire
Pour supprimer un groupe de nœuds partagé du projet propriétaire, utilisez la console Google Cloud, la gcloud CLI ou REST. Avant de supprimer un groupe de nœuds, arrêtez toutes les VM qui s'exécutent dans ce groupe.
Autorisations requises pour cette tâche
Pour effectuer cette tâche, vous devez disposer des autorisations suivantes :
-
Autorisations
compute.nodeGroups.delete
sur le projet dans lequel vous avez créé le groupe de nœuds
Dans Google Cloud Console, accédez à la page Nœuds à locataire unique.
Dans la colonne Nom, cliquez sur le nom du groupe de nœuds.
Cliquez sur Supprimer.
Pour supprimer un groupe de nœuds partagé du projet propriétaire, utilisez la commande gcloud compute sole-tenancy node-groups delete
suivante.
gcloud compute sole-tenancy node-groups deleteNODE_GROUP
Remplacez NODE_GROUP
par le nom du groupe de nœuds à supprimer.
Pour supprimer un groupe de nœuds partagé du projet propriétaire, utilisez la méthode nodeGroups.delete
suivante.
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT /zones/ZONE /nodeGroups/NODE_GROUP
Remplacez les éléments suivants :
PROJECT
: nom du projet avec le groupe de nœuds à supprimerZONE
: zone contenant le groupe de nœuds à supprimerNODE_GROUP
: nom du groupe de nœuds à supprimer