Ce document explique comment créer des règles d'extension de VM, qui vous permettent d'installer et de gérer automatiquement des extensions sur un parc de machines virtuelles (VM) Compute Engine. En définissant une règle, vous pouvez vous assurer que des extensions spécifiques sont installées et gérées sur toutes les VM qui répondent aux critères que vous spécifiez, tels que les libellés de VM. Vous pouvez créer des règles d'extension de VM zonales ou globales au niveau du projet, ou au niveau de l'organisation et du dossier (disponible en preview).
Avant de commencer
- Découvrez les principes de base de VM Extension Manager.
- Consultez les quotas de VM Extension Manager.
- Consultez les tarifs de VM Extension Manager. VM Extension Manager est disponible sans frais supplémentaires, mais l'utilisation des extensions installées par vos règles peut entraîner des frais.
- Activez l'API Compute Engine dans votre projet Google Cloud si ce n'est pas déjà fait.
- Assurez-vous que votre VM exécute l'agent invité version
20241209.01ou ultérieure. - Pour afficher les journaux de débogage des événements du VM Extension Manager, configurez les paramètres de journalisation de l'agent invité.
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification permet 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 en sélectionnant l'une des options suivantes :
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
-
Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée. Après vous être connecté, initialisez la Google Cloud CLI en exécutant la commande suivante :
gcloud init
-
- Définissez une région et une zone par défaut.
REST
Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.
Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée.
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud .
Limites de la création de règles
Vous ne pouvez créer des règles d'extension de VM au niveau du dossier et de l'organisation qu'à l'aide de la Google Cloud CLI ou de l'API REST Compute Engine.
Priorité des règles et résolution des conflits
Lorsque plusieurs règles de différents niveaux hiérarchiques (organisation, dossier ou projet) s'appliquent à la même VM, le niveau hiérarchique ne détermine pas la priorité. À la place, VM Extension Manager utilise la priorité des règles et les codes temporels de mise à jour pour résoudre les conflits.
Lorsque deux règles sont en conflit pour la même extension, la règle dont la priorité est la plus élevée prévaut. Les valeurs de priorité sont comprises entre 0 et 65535. Plus le nombre est petit, plus la priorité est élevée. La priorité par défaut est 1000. Si plusieurs règles ont la même priorité, VM Extension Manager applique aux VM la règle mise à jour le plus récemment. La suppression d'une règle ne supprime pas l'extension si une règle de priorité inférieure s'applique toujours à la VM.
Installer des extensions de VM en créant une règle d'extension de VM globale
Vous pouvez créer une règle d'extension de VM globale pour installer des extensions sur des VM dans plusieurs zones selon un plan de déploiement. Vous pouvez définir une stratégie globale au niveau du projet, ou au niveau du dossier ou de l'organisation (disponible en preview).
VM Extension Manager n'applique pas directement une règle d'extension de VM globale aux VM. Au lieu de cela, à mesure que la règle est déployée, VM Extension Manager réplique automatiquement la définition globale dans les règles zonales correspondantes de chaque zone, en fonction du plan de déploiement. Une fois qu'une règle répliquée est disponible dans une zone, VM Extension Manager évalue les VM de cette zone par rapport aux étiquettes d'inclusion de la règle, puis installe ou met à jour les extensions désignées. Lorsque vous créez des VM, VM Extension Manager les évalue et les configure automatiquement.
Plans de déploiement des règles globales
Les règles d'extension de VM globales utilisent des plans de déploiement pour gérer le déploiement des extensions dans différents emplacements. Vous pouvez utiliser l'un des plans de déploiement prédéfinis ou créer un plan de déploiement personnalisé.
Plans de déploiement prédéfinis
Vous pouvez sélectionner l'un des plans de déploiement prédéfinis suivants :
slow_rollout: déploie la règle sur cinq jours. Le déploiement lent est le plan de déploiement par défaut.fast_rollout: déploie immédiatement la stratégie dans toutes les zones.
Plans de déploiement personnalisés
Vous pouvez créer des plans de déploiement personnalisés à l'aide de la méthode rolloutPlans.insert.
Par exemple, le code JSON suivant définit un plan de déploiement nommé test-rollout-plan qui cible deux zones :
{ "name": "test-rollout-plan", "waves": [ { "selectors": [ { "locationSelector": { "includedLocations": [ "us-central1-a", "us-west1-a" ] } } ], "validation": { "type": "time", "timeBasedValidationMetadata": { "waitDuration": "0s" } }, "orchestrationOptions": { "maxConcurrentResourcesPerLocation": "10", "maxConcurrentLocations": "10" } } ] }
Vous pouvez ensuite utiliser ce plan de déploiement personnalisé lorsque vous créez une règle globale.
Installer des extensions de VM dans toutes les zones d'une organisation
Créez une règle d'extension globale au niveau de l'organisation pour installer et gérer les extensions de VM dans toutes les zones de tous les projets descendants de votre organisation.
Autorisations IAM requises
Pour obtenir l'autorisation nécessaire pour créer une règle d'extension au niveau de l'organisation, demandez à votre administrateur de vous accorder le rôle IAM Administrateur des règles d'extension des VM Compute au niveau de l'organisation (roles/compute.orgVmExtensionPolicyAdmin) sur votre organisation.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ce rôle prédéfini contient l'autorisation compute.orgVmExtensionPolicies.create, qui est nécessaire pour créer une règle d'extension au niveau de l'organisation.
Vous pouvez également obtenir cette autorisation avec des rôles personnalisés ou d'autres rôles prédéfinis.
Pour créer une règle d'extension globale au niveau de l'organisation, sélectionnez l'une des options suivantes :
gcloud
Pour créer une règle d'extension de VM globale au niveau de l'organisation, utilisez la commande gcloud preview compute global-vm-extension-policies create avec l'option --organization :
gcloud preview compute global-vm-extension-policies create POLICY_NAME \ --organization=organizations/ORGANIZATION_ID \ --description="DESCRIPTION" \ --extensions=EXTENSION_NAME_1,EXTENSION_NAME_2 \ --version=EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2 \ --config-from-file=EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2 \ --inclusion-labels=KEY_1=VALUE_1 \ --priority=PRIORITY \ --rollout-predefined-plan=ROLLOUT_PLAN \ --rollout-conflict-behavior=ROLLOUT_CONFLICT_BEHAVIOR
Remplacez les éléments suivants :
POLICY_NAME: nom de la règle d'extension de VM.ORGANIZATION_ID: ID d'organisation pour la stratégie limitée à l'organisation. Le format de la ressource estorganizations/{organization}/global/vmExtensionPolicies/{name}.DESCRIPTION: description facultative de la règle.EXTENSION_NAME_1,EXTENSION_NAME_2: liste d'extensions à ajouter à la règle, séparées par une virgule. Vous devez spécifier au moins une extension. Vous pouvez spécifier l'une des extensions compatibles suivantes :ops-agentgoogle-cloud-sap-extensiongoogle-cloud-workload-extension
EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2: liste de paires clé/valeur séparées par une virgule, où la clé est le nom de l'extension et la valeur est la version de l'extension. Si vous ne spécifiez pas de version pour une extension, VM Extension Manager utilise la dernière version disponible et la met automatiquement à niveau lorsque de nouvelles versions sont disponibles.EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2: liste de paires clé/valeur séparées par une virgule, où la clé est le nom de l'extension et la valeur est le chemin d'accès au fichier de configuration de cette extension. Ce fichier se trouve sur la VM sur laquelle vous exécutez la commandegcloud, et non sur la VM sur laquelle vous installez l'extension.Vous pouvez également fournir la configuration sous forme de chaîne intégrée en utilisant l'option
--configau lieu de--config-from-file(par exemple,EXTENSION_NAME_1="CONFIG_1"). Vous pouvez utiliser--config-from-fileou--config, mais pas les deux dans la même commande.KEY_1=VALUE_1: liste de paires clé/valeur séparées par une virgule qui définissent les étiquettes d'inclusion d'un sélecteur. Les VM doivent comporter toutes les étiquettes spécifiées dans un sélecteur pour être ciblées. Si vous spécifiez--inclusion-labelsplusieurs fois, la règle cible les VM qui correspondent à l'un des sélecteurs fournis (OU logique). Si vous omettez cette option, la règle cible toutes les VM de tous les projets et zones descendants de l'organisation.PRIORITY: entier compris entre0et65535qui définit la priorité de la stratégie. Plus le nombre est faible, plus la priorité est élevée. La valeur par défaut est1000. Si plusieurs règles ont la même priorité, VM Extension Manager applique aux VM la règle mise à jour le plus récemment.ROLLOUT_PLAN: spécifiezslow_rolloutoufast_rollout. Si vous devez utiliser un plan de déploiement personnalisé, spécifiez l'option--rollout-custom-planau lieu de--rollout-predefined-planau format suivant :--rollout-custom-plan=organizations/ORGANIZATION_ID/locations/global/rolloutPlans/ROLLOUT_PLAN_NAME
Remplacez les éléments suivants :
ORGANIZATION_ID: organisation dans laquelle le plan de déploiement est défini.ROLLOUT_PLAN_NAME: nom du plan de déploiement personnalisé que vous avez défini.
Si vous ne spécifiez pas d'option de plan de déploiement, VM Extension Manager utilise
slow_rollout.ROLLOUT_CONFLICT_BEHAVIOR: spécifie le comportement lorsque VM Extension Manager détecte un conflit entre une règle zonale et une règle globale. Vous pouvez spécifier l'un des comportements de conflit suivants :""(chaîne vide) : la règle globale n'écrase pas les règles zonales en conflit portant le même nom. Il s'agit du comportement par défaut en cas de conflit.overwrite: la stratégie globale écrase toute stratégie zonale portant le même nom, puis gère les déploiements de stratégies dans la zone.
Pour en savoir plus, consultez la section concernant l'option
--rollout-conflict-behavior.
Exemple : Créer une stratégie globale au niveau de l'organisation
La commande suivante crée une règle globale de priorité élevée nommée prod-frontend-policy au niveau de l'organisation (organizations/123456789) pour les charges de travail d'interface de production (env=prod,workload=frontend), en épinglant une version spécifique pour l'extension ops-agent avec un plan de déploiement lent :
gcloud preview compute global-vm-extension-policies create prod-frontend-policy \ --organization=organizations/123456789 \ --description="Standard monitoring policy for production frontend VMs" \ --extensions=ops-agent \ --version=ops-agent=2.58.0 \ --config=ops-agent="some-monitoring-config" \ --inclusion-labels="env=prod,workload=frontend" \ --priority=100 \ --rollout-predefined-plan=slow_rollout
REST
Pour créer une règle d'extension de VM globale au niveau de l'organisation, envoyez une requête POST à la méthode organizationGlobalVmExtensionPolicies.insert :
POST https://compute.googleapis.com/compute/2026-10-01-preview/organizations/ORGANIZATION_ID/global/vmExtensionPolicies
{
"name": "POLICY_NAME",
"description": "DESCRIPTION",
"extensionPolicies": {
"EXTENSION_NAME_1": {
"stringConfig": "EXTENSION_NAME_1_CONFIG",
"pinnedVersion": "EXTENSION_NAME_1_VERSION"
},
"EXTENSION_NAME_2": {
"stringConfig": "EXTENSION_NAME_2_CONFIG",
"pinnedVersion": "EXTENSION_NAME_2_VERSION"
}
},
"instanceSelectors": [
{
"labelSelector": {
"inclusionLabels": {
"KEY_1": "VALUE_1"
}
}
}
],
"priority": "PRIORITY",
"rolloutOperation": {
"rolloutInput": {
"conflictBehavior": "ROLLOUT_CONFLICT_BEHAVIOR",
"name": "organizations/ORGANIZATION_ID/locations/global/rolloutPlans/ROLLOUT_PLAN_NAME"
}
}
}
Remplacez les éléments suivants :
ORGANIZATION_ID: votre ID d'organisation.POLICY_NAME: nom de la règle d'extension de VM.DESCRIPTION: description facultative de la règle.EXTENSION_NAME_1,EXTENSION_NAME_2: nom de l'extension à ajouter à la règle. Vous devez spécifier au moins une extension. Vous pouvez spécifier l'une des extensions compatibles suivantes :ops-agentgoogle-cloud-sap-extensiongoogle-cloud-workload-extension
EXTENSION_NAME_1_CONFIG,EXTENSION_NAME_2_CONFIG: configuration de l'extension, fournie sous forme de chaîne intégrée.EXTENSION_NAME_1_VERSION,EXTENSION_NAME_2_VERSION: version de l'extension. Si vous ne spécifiez pas de version pour une extension, VM Extension Manager utilise la dernière version disponible et la met automatiquement à niveau lorsque de nouvelles versions sont disponibles.KEY_1:VALUE_1: paire clé-valeur qui définit les étiquettes d'inclusion d'un sélecteur. Les VM doivent comporter toutes les étiquettes spécifiées dans un sélecteur pour être ciblées. Si vous spécifiez plusieursinstanceSelectors, la règle cible les VM qui correspondent à l'un des sélecteurs fournis (opérateur logique OU). Si vous omettezinstanceSelectors, la règle cible toutes les VM de l'ensemble des projets et zones descendants de l'organisation.PRIORITY: entier compris entre0et65535qui définit la priorité de la stratégie. Plus le nombre est faible, plus la priorité est élevée. La valeur par défaut est1000. Si plusieurs règles ont la même priorité, VM Extension Manager applique aux VM la règle mise à jour le plus récemment.ROLLOUT_CONFLICT_BEHAVIOR: spécifie le comportement lorsque VM Extension Manager détecte un conflit entre une règle zonale et une règle globale. Vous pouvez spécifier l'un des comportements de conflit suivants :""(chaîne vide) : la règle globale n'écrase pas les règles zonales en conflit portant le même nom. Il s'agit du comportement par défaut en cas de conflit.overwrite: la stratégie globale écrase toute stratégie zonale portant le même nom, puis gère les déploiements de stratégies dans la zone.
Pour en savoir plus, consultez la section concernant l'option
--rollout-conflict-behavior.ROLLOUT_PLAN_NAME: nom du plan de déploiement personnalisé que vous avez défini. Pour utiliser un plan de déploiement prédéfini, remplacez le champnameparpredefinedRolloutPlanet spécifiez l'une des valeurs suivantes :SLOW_ROLLOUT: déploie la règle sur cinq jours. Ce plan prédéfini est le plan de déploiement par défaut si vous n'en spécifiez pas.FAST_ROLLOUT: déploie immédiatement la stratégie dans toutes les zones.
Exemple : Créer une stratégie globale au niveau de l'organisation
L'exemple suivant crée une règle globale nommée org-global-extension-policy qui installe l'extension ops-agent pour l'organisation 123456789 sur les VM portant l'étiquette env=prod, avec la priorité 100 et un plan de déploiement prédéfini SLOW_ROLLOUT :
POST https://compute.googleapis.com/compute/2026-10-01-preview/organizations/123456789/global/vmExtensionPolicies { "name": "org-global-extension-policy", "description": "Standard monitoring policy for organization VMs", "extensionPolicies": { "ops-agent": { "stringConfig": "logging: receivers: systemd_logs: type: systemd_journald service: pipelines: systemd_pipeline: receivers: [systemd_logs]", "pinnedVersion": "2.58.0" } }, "instanceSelectors": [ { "labelSelector": { "inclusionLabels": { "env": "prod" } } } ], "priority": "100", "rolloutOperation": { "rolloutInput": { "predefinedRolloutPlan": "SLOW_ROLLOUT" } } }
Installer des extensions de VM dans toutes les zones d'un dossier
Créez une règle d'extension globale limitée à un dossier pour installer et gérer des extensions de VM dans toutes les zones de tous les projets descendants de votre dossier.
Autorisations IAM requises
Pour obtenir l'autorisation nécessaire pour créer une règle d'extension au niveau du dossier, demandez à votre administrateur de vous accorder le rôle IAM Administrateur des règles d'extension de VM Compute au niveau du dossier (roles/compute.folderVmExtensionPolicyAdmin) sur votre dossier.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ce rôle prédéfini contient l'autorisation compute.folderVmExtensionPolicies.create, qui est nécessaire pour créer une règle d'extension limitée à un dossier.
Vous pouvez également obtenir cette autorisation avec des rôles personnalisés ou d'autres rôles prédéfinis.
Pour créer une stratégie d'extension globale limitée à un dossier, sélectionnez l'une des options suivantes :
gcloud
Pour créer une règle d'extension de VM globale limitée à un dossier, utilisez la commande gcloud preview compute global-vm-extension-policies create avec l'option --folder :
gcloud preview compute global-vm-extension-policies create POLICY_NAME \ --folder=folders/FOLDER_ID \ --description="DESCRIPTION" \ --extensions=EXTENSION_NAME_1,EXTENSION_NAME_2 \ --version=EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2 \ --config-from-file=EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2 \ --inclusion-labels=KEY_1=VALUE_1 \ --priority=PRIORITY \ --rollout-predefined-plan=ROLLOUT_PLAN \ --rollout-conflict-behavior=ROLLOUT_CONFLICT_BEHAVIOR
Remplacez les éléments suivants :
POLICY_NAME: nom de la règle d'extension de VM.FOLDER_ID: ID du dossier pour la stratégie limitée au dossier. Le format de la ressource estfolders/{folder}/global/vmExtensionPolicies/{name}.DESCRIPTION: description facultative de la règle.EXTENSION_NAME_1,EXTENSION_NAME_2: liste d'extensions à ajouter à la règle, séparées par une virgule. Vous devez spécifier au moins une extension. Vous pouvez spécifier l'une des extensions compatibles suivantes :ops-agentgoogle-cloud-sap-extensiongoogle-cloud-workload-extension
EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2: liste de paires clé/valeur séparées par une virgule, où la clé est le nom de l'extension et la valeur est la version de l'extension. Si vous ne spécifiez pas de version pour une extension, VM Extension Manager utilise la dernière version disponible et la met automatiquement à niveau lorsque de nouvelles versions sont disponibles.EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2: liste de paires clé/valeur séparées par une virgule, où la clé est le nom de l'extension et la valeur est le chemin d'accès au fichier de configuration de cette extension. Ce fichier se trouve sur la VM sur laquelle vous exécutez la commandegcloud, et non sur la VM sur laquelle vous installez l'extension.Vous pouvez également fournir la configuration sous forme de chaîne intégrée en utilisant l'option
--configau lieu de--config-from-file(par exemple,EXTENSION_NAME_1="CONFIG_1"). Vous pouvez utiliser--config-from-fileou--config, mais pas les deux dans la même commande.KEY_1=VALUE_1: liste de paires clé/valeur séparées par une virgule qui définissent les étiquettes d'inclusion d'un sélecteur. Les VM doivent comporter toutes les étiquettes spécifiées dans un sélecteur pour être ciblées. Si vous spécifiez--inclusion-labelsplusieurs fois, la règle cible les VM qui correspondent à l'un des sélecteurs fournis (OU logique). Si vous omettez cette option, la règle cible toutes les VM de tous les projets et zones descendants du dossier.PRIORITY: entier compris entre0et65535qui définit la priorité de la stratégie. Plus le nombre est faible, plus la priorité est élevée. La valeur par défaut est1000. Si plusieurs règles ont la même priorité, VM Extension Manager applique aux VM la règle mise à jour le plus récemment.ROLLOUT_PLAN: spécifiezslow_rolloutoufast_rollout. Si vous devez utiliser un plan de déploiement personnalisé, spécifiez l'option--rollout-custom-planau lieu de--rollout-predefined-planau format suivant :--rollout-custom-plan=folders/FOLDER_ID/locations/global/rolloutPlans/ROLLOUT_PLAN_NAME
Remplacez les éléments suivants :
FOLDER_ID: dossier dans lequel le plan de déploiement est défini.ROLLOUT_PLAN_NAME: nom du plan de déploiement personnalisé que vous avez défini.
Si vous ne spécifiez pas d'option de plan de déploiement, VM Extension Manager utilise
slow_rollout.ROLLOUT_CONFLICT_BEHAVIOR: spécifie le comportement lorsque VM Extension Manager détecte un conflit entre une règle zonale et une règle globale. Vous pouvez spécifier l'un des comportements de conflit suivants :""(chaîne vide) : la règle globale n'écrase pas les règles zonales en conflit portant le même nom. Il s'agit du comportement par défaut en cas de conflit.overwrite: la stratégie globale écrase toute stratégie zonale portant le même nom, puis gère les déploiements de stratégies dans la zone.
Pour en savoir plus, consultez la section concernant l'option
--rollout-conflict-behavior.
Exemple : Créer une stratégie globale limitée à un dossier
La commande suivante crée une règle globale nommée folder-global-extension-policy au niveau du dossier (folders/123456) qui installe l'extension ops-agent sur les VM portant l'étiquette env=prod à l'aide d'un plan de déploiement lent :
gcloud preview compute global-vm-extension-policies create folder-global-extension-policy \ --folder=folders/123456 \ --description="Standard monitoring policy for folder VMs" \ --extensions=ops-agent \ --version=ops-agent=2.58.0 \ --config-from-file=ops-agent="/usr/ops-agent-config.yaml" \ --inclusion-labels="env=prod" \ --priority=100 \ --rollout-predefined-plan=slow_rollout
REST
Pour créer une règle d'extension de VM globale limitée à un dossier, envoyez une requête POST à la méthode folderGlobalVmExtensionPolicies.insert :
POST https://compute.googleapis.com/compute/2026-10-01-preview/folders/FOLDER_ID/global/vmExtensionPolicies
{
"name": "POLICY_NAME",
"description": "DESCRIPTION",
"extensionPolicies": {
"EXTENSION_NAME_1": {
"stringConfig": "EXTENSION_NAME_1_CONFIG",
"pinnedVersion": "EXTENSION_NAME_1_VERSION"
},
"EXTENSION_NAME_2": {
"stringConfig": "EXTENSION_NAME_2_CONFIG",
"pinnedVersion": "EXTENSION_NAME_2_VERSION"
}
},
"instanceSelectors": [
{
"labelSelector": {
"inclusionLabels": {
"KEY_1": "VALUE_1"
}
}
}
],
"priority": "PRIORITY",
"rolloutOperation": {
"rolloutInput": {
"conflictBehavior": "ROLLOUT_CONFLICT_BEHAVIOR",
"name": "folders/FOLDER_ID/locations/global/rolloutPlans/ROLLOUT_PLAN_NAME"
}
}
}
Remplacez les éléments suivants :
FOLDER_ID: l'ID de votre dossier.POLICY_NAME: nom de la règle d'extension de VM.DESCRIPTION: description facultative de la règle.EXTENSION_NAME_1,EXTENSION_NAME_2: nom de l'extension à ajouter à la règle. Vous devez spécifier au moins une extension. Vous pouvez spécifier l'une des extensions compatibles suivantes :ops-agentgoogle-cloud-sap-extensiongoogle-cloud-workload-extension
EXTENSION_NAME_1_CONFIG,EXTENSION_NAME_2_CONFIG: configuration de l'extension, fournie sous forme de chaîne intégrée.EXTENSION_NAME_1_VERSION,EXTENSION_NAME_2_VERSION: version de l'extension. Si vous ne spécifiez pas de version pour une extension, VM Extension Manager utilise la dernière version disponible et la met automatiquement à niveau lorsque de nouvelles versions sont disponibles.KEY_1:VALUE_1: paire clé-valeur qui définit les étiquettes d'inclusion d'un sélecteur. Les VM doivent comporter toutes les étiquettes spécifiées dans un sélecteur pour être ciblées. Si vous spécifiez plusieursinstanceSelectors, la règle cible les VM qui correspondent à l'un des sélecteurs fournis (opérateur logique OU). Si vous omettezinstanceSelectors, la règle cible toutes les VM de l'ensemble des projets et zones descendants du dossier.PRIORITY: entier compris entre0et65535qui définit la priorité de la stratégie. Plus le nombre est faible, plus la priorité est élevée. La valeur par défaut est1000. Si plusieurs règles ont la même priorité, VM Extension Manager applique aux VM la règle mise à jour le plus récemment.ROLLOUT_CONFLICT_BEHAVIOR: spécifie le comportement lorsque VM Extension Manager détecte un conflit entre une règle zonale et une règle globale. Vous pouvez spécifier l'un des comportements de conflit suivants :""(chaîne vide) : la règle globale n'écrase pas les règles zonales en conflit portant le même nom. Il s'agit du comportement par défaut en cas de conflit.overwrite: la stratégie globale écrase toute stratégie zonale portant le même nom, puis gère les déploiements de stratégies dans la zone.
Pour en savoir plus, consultez la section concernant l'option
--rollout-conflict-behavior.ROLLOUT_PLAN_NAME: nom du plan de déploiement personnalisé que vous avez défini. Pour utiliser un plan de déploiement prédéfini, remplacez le champnameparpredefinedRolloutPlanet spécifiez l'une des valeurs suivantes :SLOW_ROLLOUT: déploie la règle sur cinq jours. Ce plan prédéfini est le plan de déploiement par défaut si vous n'en spécifiez pas.FAST_ROLLOUT: déploie immédiatement la stratégie dans toutes les zones.
Exemple : Créer une stratégie globale limitée à un dossier
L'exemple suivant crée une règle globale nommée folder-global-extension-policy qui installe l'extension ops-agent pour le dossier 123456 sur les VM portant l'étiquette env=prod, avec la priorité 500 et un plan de déploiement prédéfini SLOW_ROLLOUT :
POST https://compute.googleapis.com/compute/2026-10-01-preview/folders/123456/global/vmExtensionPolicies { "name": "folder-global-extension-policy", "description": "Test extension policy for Ops Agent at folder level", "extensionPolicies": { "ops-agent": { "stringConfig": "logging: receivers: systemd_logs: type: systemd_journald service: pipelines: systemd_pipeline: receivers: [systemd_logs]", "pinnedVersion": "2.58.0" } }, "instanceSelectors": [ { "labelSelector": { "inclusionLabels": { "env": "prod" } } } ], "priority": "500", "rolloutOperation": { "rolloutInput": { "predefinedRolloutPlan": "SLOW_ROLLOUT" } } }
Installer des extensions de VM dans toutes les zones d'un projet
Créez une règle d'extension globale à l'échelle du projet pour installer et gérer des extensions de VM dans toutes les zones de votre projet.
Autorisations IAM requises
Pour obtenir l'autorisation nécessaire pour créer une règle d'extension au niveau du projet, demandez à votre administrateur de vous accorder le rôle IAM Administrateur des règles d'extension de VM Compute (roles/compute.vmExtensionPolicyAdmin) sur votre projet.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ce rôle prédéfini contient l'autorisation compute.vmExtensionPolicies.create, qui est nécessaire pour créer une stratégie d'extension limitée au projet.
Vous pouvez également obtenir cette autorisation avec des rôles personnalisés ou d'autres rôles prédéfinis.
Pour créer une règle d'extension globale limitée au projet, sélectionnez l'une des options suivantes :
Console
Pour créer une règle d'extension de VM globale au niveau du projet dans la console Google Cloud , procédez comme suit :
- Dans la console Google Cloud , accédez à la page Règles d'extension de VM.
- Cliquez sur Créer une règle d'extension.
- Dans le champ Nom, saisissez un nom pour la stratégie.
- (Facultatif) Dans le champ Description, saisissez une description de la stratégie.
- Dans le champ Priorité, spécifiez un numéro de priorité pour résoudre les conflits entre les règles. Plus le nombre est faible, plus la priorité est élevée. La valeur par défaut est
1000. - Dans la section Champ d'application, sélectionnez Déploiement mondial.
- Dans la section Gérer les extensions, cliquez sur Ajouter une extension et procédez comme suit pour chaque extension que vous souhaitez installer sur les VM cibles :
- Dans la liste Extension, sélectionnez une extension. Pour en savoir plus, consultez Extensions compatibles.
- Dans la liste Version, spécifiez le numéro de version de l'extension. Laissez ce champ vide pour sélectionner la dernière version.
- Pour l'agent Ops, vous pouvez spécifier la version
2.58.0ou une version ultérieure. - Pour Extension for SAP et Extension for Compute Workloads, laissez le champ vide pour sélectionner la dernière version.
- Pour l'agent Ops, vous pouvez spécifier la version
- (Facultatif) Dans le champ Contenu du fichier de configuration, saisissez les paramètres de configuration de l'extension.
- Dans le champ Plan de déploiement, sélectionnez un plan de déploiement parmi les options suivantes :
- Déploiement lent : installe les extensions progressivement sur votre parc de VM sur une période donnée. Ce plan de déploiement est l'option par défaut.
- Déploiement rapide : installe immédiatement les extensions sur toutes les VM ciblées dans l'ensemble des zones et régions.
Pour en savoir plus sur les plans de déploiement, consultez Plans de déploiement.
- Dans la section Instances de VM cibles, sélectionnez les VM pour la règle. Pour sélectionner des VM avec des étiquettes spécifiques, cliquez sur Ajouter des étiquettes et ajoutez la paire clé-valeur.
- Cliquez sur Créer.
gcloud
Pour créer une règle d'extension de VM globale limitée au projet, utilisez la commande gcloud compute global-vm-extension-policies create :
gcloud compute global-vm-extension-policies create POLICY_NAME \ --project=PROJECT_ID \ --description="DESCRIPTION" \ --extensions=EXTENSION_NAME_1,EXTENSION_NAME_2 \ --version=EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2 \ --config-from-file=EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2 \ --inclusion-labels=KEY_1=VALUE_1 \ --priority=PRIORITY \ --rollout-predefined-plan=ROLLOUT_PLAN \ --rollout-conflict-behavior=ROLLOUT_CONFLICT_BEHAVIOR
Remplacez les éléments suivants :
POLICY_NAME: nom de la règle d'extension de VM.PROJECT_ID: ID du projet pour la règle limitée au projet.DESCRIPTION: description facultative de la règle.EXTENSION_NAME_1,EXTENSION_NAME_2: liste d'extensions à ajouter à la règle, séparées par une virgule. Vous devez spécifier au moins une extension. Vous pouvez spécifier l'une des extensions compatibles suivantes :ops-agentgoogle-cloud-sap-extensiongoogle-cloud-workload-extension
EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2: liste de paires clé/valeur séparées par une virgule, où la clé est le nom de l'extension et la valeur est la version de l'extension. Si vous ne spécifiez pas de version pour une extension, VM Extension Manager utilise la dernière version disponible et la met automatiquement à niveau lorsque de nouvelles versions sont disponibles.EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2: liste de paires clé/valeur séparées par une virgule, où la clé est le nom de l'extension et la valeur est le chemin d'accès au fichier de configuration de cette extension. Ce fichier se trouve sur la VM sur laquelle vous exécutez la commandegcloud, et non sur la VM sur laquelle vous installez l'extension.Vous pouvez également fournir la configuration sous forme de chaîne intégrée en utilisant l'option
--configau lieu de--config-from-file(par exemple,EXTENSION_NAME_1="CONFIG_1"). Vous pouvez utiliser--config-from-fileou--config, mais pas les deux dans la même commande.KEY_1=VALUE_1: liste de paires clé/valeur séparées par une virgule qui définissent les étiquettes d'inclusion d'un sélecteur. Les VM doivent comporter toutes les étiquettes spécifiées dans un sélecteur pour être ciblées. Si vous spécifiez--inclusion-labelsplusieurs fois, la règle cible les VM qui correspondent à l'un des sélecteurs fournis (OU logique). Si vous omettez cette option, la règle cible toutes les VM de votre projet dans toutes les zones.PRIORITY: entier compris entre0et65535qui définit la priorité de la stratégie. Plus le nombre est faible, plus la priorité est élevée. La valeur par défaut est1000. Si plusieurs règles ont la même priorité, VM Extension Manager applique aux VM la règle mise à jour le plus récemment.ROLLOUT_PLAN: spécifiezslow_rolloutoufast_rollout. Si vous devez utiliser un plan de déploiement personnalisé, spécifiez l'option--rollout-custom-planau lieu de--rollout-predefined-planau format suivant :--rollout-custom-plan=projects/PROJECT_NUMBER/locations/global/rolloutPlans/ROLLOUT_PLAN_NAME
Remplacez les éléments suivants :
PROJECT_NUMBER: projet dans lequel le plan de déploiement est défini.ROLLOUT_PLAN_NAME: nom du plan de déploiement personnalisé que vous avez défini.
Si vous ne spécifiez pas d'option de plan de déploiement, VM Extension Manager utilise
slow_rollout.ROLLOUT_CONFLICT_BEHAVIOR: spécifie le comportement lorsque VM Extension Manager détecte un conflit entre une règle zonale et une règle globale. Vous pouvez spécifier l'un des comportements de conflit suivants :""(chaîne vide) : la règle globale n'écrase pas les règles zonales en conflit portant le même nom. Il s'agit du comportement par défaut en cas de conflit.overwrite: la stratégie globale écrase toute stratégie zonale portant le même nom, puis gère les déploiements de stratégies dans la zone.
Pour en savoir plus, consultez la section concernant l'option
--rollout-conflict-behavior.
Exemple : Créer une règle globale limitée au projet
La commande suivante crée une règle nommée global-test-extension-policy qui installe l'extension ops-agent pour le projet test-project.
L'option --config-from-file spécifie le chemin d'accès à un fichier local contenant une configuration YAML pour l'agent Ops, et --rollout-predefined-plan spécifie le plan slow_rollout.
gcloud compute global-vm-extension-policies create global-test-extension-policy \ --project=test-project \ --extensions=ops-agent \ --config-from-file=ops-agent="/usr/ops-agent-config.yaml" \ --rollout-predefined-plan=slow_rollout
Exemple : Créer une règle globale limitée au projet avec un plan de déploiement personnalisé
La commande suivante crée une règle nommée global-test-extension-policy-2 qui installe l'extension ops-agent pour le projet test-project sur les VM portant l'étiquette env=prod. La priorité de la règle est définie sur 500, et l'option --config-from-file spécifie le chemin d'accès à un fichier local contenant une configuration YAML pour l'agent Ops. L'option --rollout-custom-plan spécifie un plan de déploiement personnalisé.
gcloud compute global-vm-extension-policies create global-test-extension-policy-2 \ --project=test-project \ --extensions=ops-agent \ --config-from-file=ops-agent="/usr/ops-agent-config.yaml" \ --priority=500 \ --inclusion-labels=env=prod \ --rollout-custom-plan=projects/12345678/locations/global/rolloutPlans/test-rollout-plan
REST
Pour créer une règle d'extension de VM globale limitée au projet, envoyez une requête POST à la méthode globalVmExtensionPolicies.insert.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/vmExtensionPolicies
{
"name": "POLICY_NAME",
"description": "DESCRIPTION",
"extensionPolicies": {
"EXTENSION_NAME_1": {
"stringConfig": "EXTENSION_NAME_1_CONFIG",
"pinnedVersion": "EXTENSION_NAME_1_VERSION"
},
"EXTENSION_NAME_2": {
"stringConfig": "EXTENSION_NAME_2_CONFIG",
"pinnedVersion": "EXTENSION_NAME_2_VERSION"
}
},
"instanceSelectors": [
{
"labelSelector": {
"inclusionLabels": {
"KEY_1": "VALUE_1"
}
}
}
],
"priority": "PRIORITY",
"rolloutOperation": {
"rolloutInput": {
"conflictBehavior": "ROLLOUT_CONFLICT_BEHAVIOR",
"name": "projects/PROJECT_NUMBER/locations/global/rolloutPlans/ROLLOUT_PLAN_NAME"
}
}
}
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projet.POLICY_NAME: nom de la règle d'extension de VM.DESCRIPTION: description facultative de la règle.EXTENSION_NAME_1,EXTENSION_NAME_2: nom de l'extension à ajouter à la règle. Vous devez spécifier au moins une extension. Vous pouvez spécifier l'une des extensions compatibles suivantes :ops-agentgoogle-cloud-sap-extensiongoogle-cloud-workload-extension
EXTENSION_NAME_1_CONFIG,EXTENSION_NAME_2_CONFIG: configuration de l'extension, fournie sous forme de chaîne intégrée.EXTENSION_NAME_1_VERSION,EXTENSION_NAME_2_VERSION: version de l'extension. Si vous ne spécifiez pas de version pour une extension, VM Extension Manager utilise la dernière version disponible et la met automatiquement à niveau lorsque de nouvelles versions sont disponibles.KEY_1:VALUE_1: paire clé-valeur qui définit les étiquettes d'inclusion d'un sélecteur. Les VM doivent comporter toutes les étiquettes spécifiées dans un sélecteur pour être ciblées. Si vous spécifiez plusieursinstanceSelectors, la règle cible les VM qui correspondent à l'un des sélecteurs fournis (opérateur logique OU). Si vous omettezinstanceSelectors, la règle cible toutes les VM de votre projet dans toutes les zones.PRIORITY: entier compris entre0et65535qui définit la priorité de la stratégie. Plus le nombre est faible, plus la priorité est élevée. La valeur par défaut est1000. Si plusieurs règles ont la même priorité, VM Extension Manager applique aux VM la règle mise à jour le plus récemment.ROLLOUT_CONFLICT_BEHAVIOR: spécifie le comportement lorsque VM Extension Manager détecte un conflit entre une règle zonale et une règle globale. Vous pouvez spécifier l'un des comportements de conflit suivants :""(chaîne vide) : la règle globale n'écrase pas les règles zonales en conflit portant le même nom. Il s'agit du comportement par défaut en cas de conflit.overwrite: la stratégie globale écrase toute stratégie zonale portant le même nom, puis gère les déploiements de stratégies dans la zone.
Pour en savoir plus, consultez la section concernant l'option
--rollout-conflict-behavior.PROJECT_NUMBER: projet dans lequel le plan de déploiement personnalisé est défini.ROLLOUT_PLAN_NAME: nom du plan de déploiement personnalisé que vous avez défini. Pour utiliser un plan de déploiement prédéfini, remplacez le champnameparpredefinedRolloutPlanet spécifiez l'une des valeurs suivantes :SLOW_ROLLOUT: déploie la règle sur cinq jours. Ce plan prédéfini est le plan de déploiement par défaut si vous n'en spécifiez pas.FAST_ROLLOUT: déploie immédiatement la stratégie dans toutes les zones.
Exemple : Créer une règle globale limitée au projet
L'exemple suivant crée une règle nommée global-test-extension-policy qui installe l'extension ops-agent pour le projet 12345678 sur les VM portant l'étiquette env=prod. La priorité de la règle est définie sur 500 et utilise le plan de déploiement test-rollout-plan.
POST https://compute.googleapis.com/compute/v1/projects/12345678/global/vmExtensionPolicies { "name": "global-test-extension-policy", "description": "Test extension policy for Ops Agent", "extensionPolicies": { "ops-agent": { "stringConfig": "logging: receivers: systemd_logs: type: systemd_journald service: pipelines: systemd_pipeline: receivers: [systemd_logs]", "pinnedVersion": "2.58.0" } }, "instanceSelectors": [ { "labelSelector": { "inclusionLabels": { "env": "prod" } } } ], "priority": "500", "rolloutOperation": { "rolloutInput": { "name": "projects/12345678/locations/global/rolloutPlans/test-rollout-plan" } } }
Installer des extensions de VM en créant une règle d'extension de VM zonale
Vous pouvez créer une règle d'extension de VM zonale pour définir les extensions à installer et sur quelles VM d'une zone spécifique. Vous pouvez définir une règle zonale au niveau du projet, ou au niveau du dossier ou de l'organisation (disponible en version preview).
Installer des extensions de VM dans une zone d'une organisation
Créez une règle d'extension zonale au niveau de l'organisation pour installer et gérer des extensions de VM dans une zone spécifique sur tous les projets descendants de votre organisation.
Autorisations IAM requises
Pour obtenir l'autorisation nécessaire pour créer une règle d'extension au niveau de l'organisation, demandez à votre administrateur de vous accorder le rôle IAM Administrateur des règles d'extension des VM Compute au niveau de l'organisation (roles/compute.orgVmExtensionPolicyAdmin) sur votre organisation.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ce rôle prédéfini contient l'autorisation compute.orgVmExtensionPolicies.create, qui est nécessaire pour créer une règle d'extension au niveau de l'organisation.
Vous pouvez également obtenir cette autorisation avec des rôles personnalisés ou d'autres rôles prédéfinis.
Pour créer une règle d'extension zonale au niveau de l'organisation, sélectionnez l'une des options suivantes :
gcloud
Pour créer une règle d'extension de VM zonale au niveau de l'organisation et la déployer sur les VM d'une zone spécifique, utilisez la commande gcloud preview compute zone-vm-extension-policies create avec l'option --organization :
gcloud preview compute zone-vm-extension-policies create POLICY_NAME \ --organization=organizations/ORGANIZATION_ID \ --zone=ZONE \ --description="DESCRIPTION" \ --extensions=EXTENSION_NAME_1,EXTENSION_NAME_2 \ --version=EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2 \ --config-from-file=EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2 \ --inclusion-labels=KEY_1=VALUE_1 \ --priority=PRIORITY
Remplacez les éléments suivants :
POLICY_NAME: nom de la règle d'extension de VM.ORGANIZATION_ID: ID d'organisation pour la stratégie limitée à l'organisation. Le format de la ressource estorganizations/{organization}/zones/{zone}/vmExtensionPolicies/{name}.ZONE: zone où cette règle s'applique.DESCRIPTION: description facultative de la règle.EXTENSION_NAME_1,EXTENSION_NAME_2: liste d'extensions à ajouter à la règle, séparées par une virgule. Vous devez spécifier au moins une extension. Vous pouvez spécifier l'une des extensions compatibles suivantes :ops-agentgoogle-cloud-sap-extensiongoogle-cloud-workload-extension
EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2: liste de paires clé/valeur séparées par une virgule, où la clé est le nom de l'extension et la valeur est la version de l'extension. Si vous ne spécifiez pas de version pour une extension, VM Extension Manager utilise la dernière version disponible et la met automatiquement à niveau lorsque de nouvelles versions sont disponibles.EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2: liste de paires clé/valeur séparées par une virgule, où la clé est le nom de l'extension et la valeur est le chemin d'accès au fichier de configuration de cette extension. Ce fichier se trouve sur la VM sur laquelle vous exécutez la commandegcloud, et non sur la VM sur laquelle vous installez l'extension.Vous pouvez également fournir la configuration sous forme de chaîne intégrée en utilisant l'option
--configau lieu de--config-from-file(par exemple,EXTENSION_NAME_1="CONFIG_1"). Vous pouvez utiliser--config-from-fileou--config, mais pas les deux dans la même commande.KEY_1=VALUE_1: liste de paires clé/valeur séparées par une virgule qui définissent les étiquettes d'inclusion d'un sélecteur. Les VM doivent comporter toutes les étiquettes spécifiées dans un sélecteur pour être ciblées. Si vous spécifiez--inclusion-labelsplusieurs fois, la règle cible les VM qui correspondent à l'un des sélecteurs fournis (OU logique). Si vous omettez cette option, la règle cible toutes les VM de la zone spécifiée dans tous les projets descendants de l'organisation.PRIORITY: entier compris entre0et65535qui définit la priorité de la stratégie. Plus le nombre est faible, plus la priorité est élevée. La valeur par défaut est1000. Si plusieurs règles ont la même priorité, VM Extension Manager applique aux VM la règle mise à jour le plus récemment.
La commande échoue si une stratégie portant le nom spécifié existe déjà dans la zone.
Exemple : Créer une règle zonale au niveau de l'organisation
La commande suivante crée une règle zonale nommée org-test-extension-policy qui installe l'extension ops-agent dans la zone us-central1-f pour l'organisation organizations/123456789 sur les VM portant l'étiquette env=prod :
gcloud preview compute zone-vm-extension-policies create org-test-extension-policy \ --organization=organizations/123456789 \ --zone=us-central1-f \ --extensions=ops-agent \ --config-from-file=ops-agent="/usr/ops-agent-config.yaml" \ --priority=100 \ --inclusion-labels=env=prod
REST
Pour créer une règle d'extension de VM zonale au niveau de l'organisation, envoyez une requête POST à la méthode organizationZoneVmExtensionPolicies.insert.
Cette méthode définit les extensions à installer et sur quelles VM d'une zone spécifique de l'organisation.
POST https://compute.googleapis.com/compute/2026-10-01-preview/organizations/ORGANIZATION_ID/zones/ZONE/vmExtensionPolicies
{
"name": "POLICY_NAME",
"description": "DESCRIPTION",
"extensionPolicies": {
"EXTENSION_NAME_1": {
"stringConfig": "EXTENSION_NAME_1_CONFIG",
"pinnedVersion": "EXTENSION_NAME_1_VERSION"
},
"EXTENSION_NAME_2": {
"stringConfig": "EXTENSION_NAME_2_CONFIG",
"pinnedVersion": "EXTENSION_NAME_2_VERSION"
}
},
"instanceSelectors": [
{
"labelSelector": {
"inclusionLabels": {
"KEY_1": "VALUE_1"
}
}
}
],
"priority": "PRIORITY"
}
Remplacez les éléments suivants :
ORGANIZATION_ID: votre ID d'organisation.ZONE: zone où cette règle s'applique.POLICY_NAME: nom de la règle d'extension de VM.DESCRIPTION: description facultative de la règle.EXTENSION_NAME_1,EXTENSION_NAME_2: nom de l'extension à ajouter à la règle. Vous devez spécifier au moins une extension. Vous pouvez spécifier l'une des extensions compatibles suivantes :ops-agentgoogle-cloud-sap-extensiongoogle-cloud-workload-extension
EXTENSION_NAME_1_CONFIG,EXTENSION_NAME_2_CONFIG: configuration de l'extension, fournie sous forme de chaîne intégrée.EXTENSION_NAME_1_VERSION,EXTENSION_NAME_2_VERSION: version de l'extension. Si vous ne spécifiez pas de version pour une extension, VM Extension Manager utilise la dernière version disponible et la met automatiquement à niveau lorsque de nouvelles versions sont disponibles.KEY_1:VALUE_1: paire clé-valeur qui définit les étiquettes d'inclusion d'un sélecteur. Les VM doivent comporter toutes les étiquettes spécifiées dans un sélecteur pour être ciblées. Si vous spécifiez plusieursinstanceSelectors, la règle cible les VM qui correspondent à l'un des sélecteurs fournis (opérateur logique OU). Si vous omettezinstanceSelectors, la règle cible toutes les VM de la zone spécifiée dans tous les projets descendants de l'organisation.PRIORITY: entier compris entre0et65535qui définit la priorité de la stratégie. Plus le nombre est faible, plus la priorité est élevée. La valeur par défaut est1000. Si plusieurs règles ont la même priorité, VM Extension Manager applique aux VM la règle mise à jour le plus récemment.
Exemple : Créer une règle zonale au niveau de l'organisation
L'exemple suivant crée une règle nommée org-test-extension-policy qui installe l'extension ops-agent dans la zone us-central1-f pour l'organisation 123456789.
POST https://compute.googleapis.com/compute/2026-10-01-preview/organizations/123456789/zones/us-central1-f/vmExtensionPolicies { "name": "org-test-extension-policy", "description": "Test extension policy for Ops Agent at organization level", "extensionPolicies": { "ops-agent": { "stringConfig": "logging: receivers: systemd_logs: type: systemd_journald service: pipelines: systemd_pipeline: receivers: [systemd_logs]", "pinnedVersion": "2.58.0" } }, "instanceSelectors": [ { "labelSelector": { "inclusionLabels": { "env": "prod" } } } ], "priority": "100" }
Installer des extensions de VM dans une zone d'un dossier
Créez une règle d'extension zonale limitée à un dossier pour installer et gérer des extensions de VM dans une zone spécifique sur tous les projets descendants de votre dossier.
Autorisations IAM requises
Pour obtenir l'autorisation nécessaire pour créer une règle d'extension au niveau du dossier, demandez à votre administrateur de vous accorder le rôle IAM Administrateur des règles d'extension de VM Compute au niveau du dossier (roles/compute.folderVmExtensionPolicyAdmin) sur votre dossier.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ce rôle prédéfini contient l'autorisation compute.folderVmExtensionPolicies.create, qui est nécessaire pour créer une règle d'extension limitée à un dossier.
Vous pouvez également obtenir cette autorisation avec des rôles personnalisés ou d'autres rôles prédéfinis.
Pour créer une règle d'extension zonale limitée à un dossier, sélectionnez l'une des options suivantes :
gcloud
Pour créer une règle d'extension de VM zonale limitée à un dossier et la déployer sur les VM d'une zone spécifique, utilisez la commande gcloud preview compute zone-vm-extension-policies create avec l'option --folder :
gcloud preview compute zone-vm-extension-policies create POLICY_NAME \ --folder=folders/FOLDER_ID \ --zone=ZONE \ --description="DESCRIPTION" \ --extensions=EXTENSION_NAME_1,EXTENSION_NAME_2 \ --version=EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2 \ --config-from-file=EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2 \ --inclusion-labels=KEY_1=VALUE_1 \ --priority=PRIORITY
Remplacez les éléments suivants :
POLICY_NAME: nom de la règle d'extension de VM.FOLDER_ID: ID du dossier pour la stratégie limitée au dossier. Le format de la ressource estfolders/{folder}/zones/{zone}/vmExtensionPolicies/{name}.ZONE: zone où cette règle s'applique.DESCRIPTION: description facultative de la règle.EXTENSION_NAME_1,EXTENSION_NAME_2: liste d'extensions à ajouter à la règle, séparées par une virgule. Vous devez spécifier au moins une extension. Vous pouvez spécifier l'une des extensions compatibles suivantes :ops-agentgoogle-cloud-sap-extensiongoogle-cloud-workload-extension
EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2: liste de paires clé/valeur séparées par une virgule, où la clé est le nom de l'extension et la valeur est la version de l'extension. Si vous ne spécifiez pas de version pour une extension, VM Extension Manager utilise la dernière version disponible et la met automatiquement à niveau lorsque de nouvelles versions sont disponibles.EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2: liste de paires clé/valeur séparées par une virgule, où la clé est le nom de l'extension et la valeur est le chemin d'accès au fichier de configuration de cette extension. Ce fichier se trouve sur la VM sur laquelle vous exécutez la commandegcloud, et non sur la VM sur laquelle vous installez l'extension.Vous pouvez également fournir la configuration sous forme de chaîne intégrée en utilisant l'option
--configau lieu de--config-from-file(par exemple,EXTENSION_NAME_1="CONFIG_1"). Vous pouvez utiliser--config-from-fileou--config, mais pas les deux dans la même commande.KEY_1=VALUE_1: liste de paires clé/valeur séparées par une virgule qui définissent les étiquettes d'inclusion d'un sélecteur. Les VM doivent comporter toutes les étiquettes spécifiées dans un sélecteur pour être ciblées. Si vous spécifiez--inclusion-labelsplusieurs fois, la règle cible les VM qui correspondent à l'un des sélecteurs fournis (OU logique). Si vous omettez cette option, la règle cible toutes les VM de la zone spécifiée dans tous les projets descendants du dossier.PRIORITY: entier compris entre0et65535qui définit la priorité de la stratégie. Plus le nombre est faible, plus la priorité est élevée. La valeur par défaut est1000. Si plusieurs règles ont la même priorité, VM Extension Manager applique aux VM la règle mise à jour le plus récemment.
La commande échoue si une stratégie portant le nom spécifié existe déjà dans la zone.
Exemple : Créer une règle zonale limitée à un dossier
La commande suivante crée une règle zonale nommée folder-test-extension-policy qui installe l'extension ops-agent dans la zone us-central1-f pour le dossier folders/123456 sur les VM portant l'étiquette env=prod :
gcloud preview compute zone-vm-extension-policies create folder-test-extension-policy \ --folder=folders/123456 \ --zone=us-central1-f \ --extensions=ops-agent \ --config-from-file=ops-agent="/usr/ops-agent-config.yaml" \ --priority=500 \ --inclusion-labels=env=prod
REST
Pour créer une règle d'extension de VM zonale limitée à un dossier, envoyez une requête POST à la méthode folderZoneVmExtensionPolicies.insert.
Cette méthode définit les extensions à installer et sur quelles VM d'une zone spécifique du dossier.
POST https://compute.googleapis.com/compute/2026-10-01-preview/folders/FOLDER_ID/zones/ZONE/vmExtensionPolicies
{
"name": "POLICY_NAME",
"description": "DESCRIPTION",
"extensionPolicies": {
"EXTENSION_NAME_1": {
"stringConfig": "EXTENSION_NAME_1_CONFIG",
"pinnedVersion": "EXTENSION_NAME_1_VERSION"
},
"EXTENSION_NAME_2": {
"stringConfig": "EXTENSION_NAME_2_CONFIG",
"pinnedVersion": "EXTENSION_NAME_2_VERSION"
}
},
"instanceSelectors": [
{
"labelSelector": {
"inclusionLabels": {
"KEY_1": "VALUE_1"
}
}
}
],
"priority": "PRIORITY"
}
Remplacez les éléments suivants :
FOLDER_ID: l'ID de votre dossier.ZONE: zone où cette règle s'applique.POLICY_NAME: nom de la règle d'extension de VM.DESCRIPTION: description facultative de la règle.EXTENSION_NAME_1,EXTENSION_NAME_2: nom de l'extension à ajouter à la règle. Vous devez spécifier au moins une extension. Vous pouvez spécifier l'une des extensions compatibles suivantes :ops-agentgoogle-cloud-sap-extensiongoogle-cloud-workload-extension
EXTENSION_NAME_1_CONFIG,EXTENSION_NAME_2_CONFIG: configuration de l'extension, fournie sous forme de chaîne intégrée.EXTENSION_NAME_1_VERSION,EXTENSION_NAME_2_VERSION: version de l'extension. Si vous ne spécifiez pas de version pour une extension, VM Extension Manager utilise la dernière version disponible et la met automatiquement à niveau lorsque de nouvelles versions sont disponibles.KEY_1:VALUE_1: paire clé-valeur qui définit les étiquettes d'inclusion d'un sélecteur. Les VM doivent comporter toutes les étiquettes spécifiées dans un sélecteur pour être ciblées. Si vous spécifiez plusieursinstanceSelectors, la règle cible les VM qui correspondent à l'un des sélecteurs fournis (opérateur logique OU). Si vous omettezinstanceSelectors, la règle cible toutes les VM de la zone spécifiée dans tous les projets descendants du dossier.PRIORITY: entier compris entre0et65535qui définit la priorité de la stratégie. Plus le nombre est faible, plus la priorité est élevée. La valeur par défaut est1000. Si plusieurs règles ont la même priorité, VM Extension Manager applique aux VM la règle mise à jour le plus récemment.
Exemple : Créer une règle zonale limitée à un dossier
L'exemple suivant crée une règle nommée folder-test-extension-policy qui installe l'extension ops-agent dans la zone us-central1-f pour le dossier 123456.
POST https://compute.googleapis.com/compute/2026-10-01-preview/folders/123456/zones/us-central1-f/vmExtensionPolicies
{
"name": "folder-test-extension-policy",
"description": "Test extension policy for Ops Agent at folder level",
"extensionPolicies": {
"ops-agent": {
"stringConfig": "logging:
receivers:
systemd_logs:
type: systemd_journald
service:
pipelines:
systemd_pipeline:
receivers: [systemd_logs]",
"pinnedVersion": "2.58.0"
}
},
"instanceSelectors": [
{
"labelSelector": {
"inclusionLabels": {
"env": "test"
}
}
}
],
"priority": "500"
}
Installer des extensions de VM dans une zone d'un projet
Créez une règle d'extension zonale limitée au projet pour installer et gérer des extensions de VM dans une zone spécifique de votre projet.
Autorisations IAM requises
Pour obtenir l'autorisation nécessaire pour créer une règle d'extension au niveau du projet, demandez à votre administrateur de vous accorder le rôle IAM Administrateur des règles d'extension de VM Compute (roles/compute.vmExtensionPolicyAdmin) sur votre projet.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ce rôle prédéfini contient l'autorisation compute.vmExtensionPolicies.create, qui est nécessaire pour créer une stratégie d'extension limitée au projet.
Vous pouvez également obtenir cette autorisation avec des rôles personnalisés ou d'autres rôles prédéfinis.
Pour créer une règle d'extension zonale limitée à un projet, sélectionnez l'une des options suivantes :
Console
Pour créer une règle d'extension de VM zonale limitée au projet dans la console Google Cloud , procédez comme suit :
- Dans la console Google Cloud , accédez à la page Règles d'extension de VM.
- Cliquez sur Créer une règle d'extension.
- Dans le champ Nom, saisissez un nom pour la stratégie.
- (Facultatif) Dans le champ Description, saisissez une description de la stratégie.
- Dans le champ Priorité, spécifiez un numéro de priorité pour résoudre les conflits entre les règles. Plus le nombre est faible, plus la priorité est élevée. La valeur par défaut est
1000. - Dans la section Champ d'application, sélectionnez Déploiement zonal.
- Dans les listes Région et Zone, sélectionnez la région et la zone où se trouvent vos VM. VM Extension Manager applique la règle aux VM de la région et de la zone sélectionnées.
- Dans la section Gérer les extensions, cliquez sur Ajouter une extension et procédez comme suit pour chaque extension que vous souhaitez installer sur les VM cibles :
- Dans la liste Extension, sélectionnez une extension. Pour en savoir plus, consultez Extensions compatibles.
- Dans la liste Version, spécifiez le numéro de version de l'extension. Laissez ce champ vide pour sélectionner la dernière version.
- Pour l'agent Ops, vous pouvez spécifier la version
2.58.0ou une version ultérieure. - Pour Extension for SAP et Extension for Compute Workloads, laissez le champ vide pour sélectionner la dernière version.
- Pour l'agent Ops, vous pouvez spécifier la version
- (Facultatif) Dans le champ Contenu du fichier de configuration, saisissez les paramètres de configuration de l'extension.
- Dans la section Instances de VM cibles, sélectionnez les VM pour la règle. Pour sélectionner des VM avec des étiquettes spécifiques, cliquez sur Ajouter des étiquettes et ajoutez la paire clé-valeur.
- Cliquez sur Créer.
gcloud
Pour créer une règle d'extension de VM zonale limitée au projet et la déployer sur les VM d'une zone spécifique, utilisez la commande gcloud compute zone-vm-extension-policies create :
gcloud compute zone-vm-extension-policies create POLICY_NAME \ --project=PROJECT_ID \ --zone=ZONE \ --description="DESCRIPTION" \ --extensions=EXTENSION_NAME_1,EXTENSION_NAME_2 \ --version=EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2 \ --config-from-file=EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2 \ --inclusion-labels=KEY_1=VALUE_1 \ --priority=PRIORITY
Remplacez les éléments suivants :
POLICY_NAME: nom de la règle d'extension de VM.PROJECT_ID: ID du projet pour la règle limitée au projet.ZONE: zone où cette règle s'applique.DESCRIPTION: description facultative de la règle.EXTENSION_NAME_1,EXTENSION_NAME_2: liste d'extensions à ajouter à la règle, séparées par une virgule. Vous devez spécifier au moins une extension. Vous pouvez spécifier l'une des extensions compatibles suivantes :ops-agentgoogle-cloud-sap-extensiongoogle-cloud-workload-extension
EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2: liste de paires clé/valeur séparées par une virgule, où la clé est le nom de l'extension et la valeur est la version de l'extension. Si vous ne spécifiez pas de version pour une extension, VM Extension Manager utilise la dernière version disponible et la met automatiquement à niveau lorsque de nouvelles versions sont disponibles.EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2: liste de paires clé/valeur séparées par une virgule, où la clé est le nom de l'extension et la valeur est le chemin d'accès au fichier de configuration de cette extension. Ce fichier se trouve sur la VM sur laquelle vous exécutez la commandegcloud, et non sur la VM sur laquelle vous installez l'extension.Vous pouvez également fournir la configuration sous forme de chaîne intégrée en utilisant l'option
--configau lieu de--config-from-file(par exemple,EXTENSION_NAME_1="CONFIG_1"). Vous pouvez utiliser--config-from-fileou--config, mais pas les deux dans la même commande.KEY_1=VALUE_1: liste de paires clé/valeur séparées par une virgule qui définissent les étiquettes d'inclusion d'un sélecteur. Les VM doivent comporter toutes les étiquettes spécifiées dans un sélecteur pour être ciblées. Si vous spécifiez--inclusion-labelsplusieurs fois, la règle cible les VM qui correspondent à l'un des sélecteurs fournis (OU logique). Si vous omettez cette option, la règle cible toutes les VM de la zone spécifiée dans votre projet.PRIORITY: entier compris entre0et65535qui définit la priorité de la stratégie. Plus le nombre est faible, plus la priorité est élevée. La valeur par défaut est1000. Si plusieurs règles ont la même priorité, VM Extension Manager applique aux VM la règle mise à jour le plus récemment.
La commande échoue si une stratégie portant le nom spécifié existe déjà dans la zone.
Exemple : Créer une règle zonale au niveau du projet
La commande suivante crée une règle nommée test-extension-policy qui installe l'extension ops-agent dans la zone us-central1-f pour le projet test-project.
L'option --config-from-file spécifie le chemin d'accès à un fichier local contenant une configuration YAML pour l'agent Ops.
gcloud compute zone-vm-extension-policies create test-extension-policy \ --project=test-project \ --zone=us-central1-f \ --extensions=ops-agent \ --config-from-file=ops-agent="/usr/ops-agent-config.yaml"
Exemple : Créer une règle zonale limitée au projet avec des libellés d'inclusion et une priorité
La commande suivante crée une règle nommée test-extension-policy-2 qui installe l'extension ops-agent dans la zone us-central1-f pour le projet test-project sur les VM portant l'étiquette env=prod. La priorité de la règle est définie sur 500, et l'option --config-from-file spécifie le chemin d'accès à un fichier local contenant une configuration YAML pour l'agent Ops.
gcloud compute zone-vm-extension-policies create test-extension-policy-2 \ --project=test-project \ --zone=us-central1-f \ --extensions=ops-agent \ --config-from-file=ops-agent="/usr/ops-agent-config.yaml" \ --priority=500 \ --inclusion-labels=env=prod
REST
Pour créer une règle d'extension de VM zonale limitée au projet, envoyez une requête POST à la méthode zoneVmExtensionPolicies.insert.
Cette méthode définit les extensions à installer et sur quelles VM d'une zone spécifique.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/vmExtensionPolicies
{
"name": "POLICY_NAME",
"description": "DESCRIPTION",
"extensionPolicies": {
"EXTENSION_NAME_1": {
"stringConfig": "EXTENSION_NAME_1_CONFIG",
"pinnedVersion": "EXTENSION_NAME_1_VERSION"
},
"EXTENSION_NAME_2": {
"stringConfig": "EXTENSION_NAME_2_CONFIG",
"pinnedVersion": "EXTENSION_NAME_2_VERSION"
}
},
"instanceSelectors": [
{
"labelSelector": {
"inclusionLabels": {
"KEY_1": "VALUE_1"
}
}
}
],
"priority": "PRIORITY"
}
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projet.ZONE: zone où cette règle s'applique.POLICY_NAME: nom de la règle d'extension de VM.DESCRIPTION: description facultative de la règle.EXTENSION_NAME_1,EXTENSION_NAME_2: nom de l'extension à ajouter à la règle. Vous devez spécifier au moins une extension. Vous pouvez spécifier l'une des extensions compatibles suivantes :ops-agentgoogle-cloud-sap-extensiongoogle-cloud-workload-extension
EXTENSION_NAME_1_CONFIG,EXTENSION_NAME_2_CONFIG: configuration de l'extension, fournie sous forme de chaîne intégrée.EXTENSION_NAME_1_VERSION,EXTENSION_NAME_2_VERSION: version de l'extension. Si vous ne spécifiez pas de version pour une extension, VM Extension Manager utilise la dernière version disponible et la met automatiquement à niveau lorsque de nouvelles versions sont disponibles.KEY_1:VALUE_1: paire clé-valeur qui définit les étiquettes d'inclusion d'un sélecteur. Les VM doivent comporter toutes les étiquettes spécifiées dans un sélecteur pour être ciblées. Si vous spécifiez plusieursinstanceSelectors, la règle cible les VM qui correspondent à l'un des sélecteurs fournis (opérateur logique OU). Si vous omettezinstanceSelectors, la règle cible toutes les VM de la zone spécifiée dans votre projet.PRIORITY: entier compris entre0et65535qui définit la priorité de la stratégie. Plus le nombre est faible, plus la priorité est élevée. La valeur par défaut est1000. Si plusieurs règles ont la même priorité, VM Extension Manager applique aux VM la règle mise à jour le plus récemment.
Exemple : Créer une règle zonale au niveau du projet
L'exemple suivant crée une règle nommée test-extension-policy qui installe l'extension ops-agent dans la zone us-central1-f pour my-project.
POST https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f/vmExtensionPolicies
{
"name": "test-extension-policy",
"description": "Test extension policy for Ops Agent",
"extensionPolicies": {
"ops-agent": {
"stringConfig": "logging:
receivers:
systemd_logs:
type: systemd_journald
service:
pipelines:
systemd_pipeline:
receivers: [systemd_logs]",
"pinnedVersion": "2.58.0"
}
},
"instanceSelectors": [
{
"labelSelector": {
"inclusionLabels": {
"env": "test"
}
}
}
],
"priority": "500"
}
Étapes suivantes
- Pour inspecter la progression du déploiement et l'état de l'extension, consultez Afficher les détails et l'état d'une extension de VM.
- Pour modifier les paramètres de configuration, changer les versions épinglées ou supprimer les agents déployés, consultez Gérer les extensions de VM à l'aide de règles d'extension.
- Pour créer des tableaux de bord Cloud Monitoring et configurer des alertes concernant l'état de l'agent, l'utilisation du processeur et l'utilisation de la mémoire, consultez Surveiller les extensions de VM.
- Pour diagnostiquer les échecs de déploiement, vérifier les processus invités en cours d'exécution ou inspecter les journaux de débogage de l'agent invité, consultez Résoudre les problèmes liés aux extensions de VM.