Vous pouvez modifier la façon dont une règle gère l'agent Ops en mettant à jour la règle. Lorsque vous mettez à jour une règle, VM Extension Manager déploie les modifications sur toutes les VM concernées, généralement en moins d'une minute. Selon la façon dont une règle est modifiée, l'agent Ops peut être installé sur de nouvelles VM ou désinstallé des VM existantes.
Avant de commencer
Avant de commencer à utiliser les règles d'extension du gestionnaire d'extensions de VM, procédez comme suit :
Accordez les rôles requis pour gérer les règles de VM Extension Manager.
Si vous souhaitez utiliser une interface de ligne de commande pour créer et gérer des règles d'extension et que vous n'avez pas encore installé Google Cloud CLI, installez gcloud.
Vous pouvez créer et gérer des règles d'extension de VM zonales à l'aide de la consoleGoogle Cloud ou de Google Cloud CLI, gcloud. Vous créez et gérez des règles d'extension de VM globales à l'aide de gcloud.
Attribuer les rôles requis pour gérer les règles VM Extension Manager
Pour obtenir les autorisations nécessaires pour afficher, modifier et supprimer des règles d'extension de VM, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet :
-
Pour afficher les règles d'extension :
- Lecteur de règles d'extension de VM (
roles/compute.vmExtensionPolicyViewer) - Administrateur de règles d'extension de VM (
roles/compute.vmExtensionPolicyAdmin)
- Lecteur de règles d'extension de VM (
-
Pour modifier les règles d'extension : Administrateur de règles d'extension de VM (
roles/compute.vmExtensionPolicyAdmin) -
Pour supprimer des règles d'extension : Administrateur de règles d'extension de VM (
roles/compute.vmExtensionPolicyAdmin)
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ces rôles prédéfinis contiennent les autorisations requises pour afficher, modifier et supprimer des règles d'extension de VM. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour afficher, modifier et supprimer des règles d'extension de VM :
-
Pour afficher les règles d'extension :
compute.vmExtensionPolicies.list -
Pour afficher les détails d'une règle d'extension :
compute.vmExtensionPolicies.get -
Pour modifier les règles d'extension :
compute.vmExtensionPolicies.update -
Pour supprimer des règles d'extension :
compute.vmExtensionPolicies.delete
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Pour en savoir plus sur les rôles et les autorisations IAM dans Compute Engine, consultez Rôles et autorisations Compute Engine.
Modifier les règles d'extension qui gèrent l'agent Ops
Pour modifier la façon dont une règle gère l'agent Ops, mettez à jour la règle. Lorsque vous mettez à jour une règle, VM Extension Manager déploie les modifications sur toutes les VM concernées, généralement en moins d'une minute. Si vous modifiez les libellés d'inclusion, l'agent Ops peut être installé sur de nouvelles VM ou désinstallé des VM existantes, selon que les VM correspondent ou non aux libellés mis à jour.
Les sections suivantes expliquent comment modifier une stratégie pour effectuer les opérations suivantes :
- Mettre à jour la version épinglée de l'agent sur toutes les VM
- Modifier la configuration de l'Agent Ops sur toutes les VM
Mettre à jour la version épinglée de l'agent Ops sur toutes les VM d'une zone
Pour modifier la version épinglée de l'agent Ops sur toutes les VM d'une zone, procédez comme suit :
Console
Pour créer une règle zonale, vous pouvez utiliser la console Google Cloud .
-
Dans la console Google Cloud , accédez à la page Règles d'extension :
Accéder aux règles des extensions
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Compute Engine.
- Sélectionnez la stratégie que vous souhaitez mettre à jour.
- Cliquez sur Modifier.
- Dans la section Gérer les extensions, procédez comme suit :
- Dans la liste Extension, sélectionnez
Google Cloud's Extension for Ops Agent. - Modifiez le champ Version. Utilisez la version 2.58.0 ou une version ultérieure.
- Cliquez sur OK.
- Dans la liste Extension, sélectionnez
- Cliquez sur Enregistrer.
gcloud
Pour créer une stratégie zonale ou globale, vous pouvez utiliser la gcloud CLI.
Zonal
Utilisez la commande gcloud compute zone-vm-extension-policies update avec l'option --version pour modifier la version de l'agent épinglée.
Lorsque vous mettez à jour une stratégie à l'aide de gcloud, la requête agit comme un remplacement complet. Tous les champs facultatifs que vous omettez dans la requête reviennent donc à leurs valeurs par défaut au lieu de conserver les valeurs existantes de la stratégie modifiée.
Pour modifier la version de l'agent Ops installé sur toutes les VM d'une zone par une règle, utilisez la commande suivante :
gcloud compute zone-vm-extension-policies update POLICY_NAME \
--project=PROJECT_ID \
--zone=ZONE \
--extensions=ops-agent
--version=ops-agent=VERSION
Remplacez les variables suivantes dans la commande :
- POLICY_NAME : nom de la règle d'extension de VM.
- PROJECT_ID : identifiant du projet.
- ZONE : zone cible, par exemple
us-central1-f. - VERSION : version de l'agent Ops à installer.
Utilisez la version 2.58.0 ou une version ultérieure.
Pour obtenir la liste des versions, consultez la page des versions de l'agent Ops sur GitHub.
Si vous omettez l'option
--version, la règle installe la dernière version et met à jour l'agent Ops lorsqu'une nouvelle version est publiée, comme illustré dans l'exemple qui installe la dernière version.
Monde
Utilisez la commande gcloud compute global-vm-extension-policies update avec l'option --version pour modifier la version de l'agent épinglée.
Lorsque vous mettez à jour une stratégie à l'aide de gcloud, la requête agit comme un remplacement complet. Tous les champs facultatifs que vous omettez dans la requête reviennent donc à leurs valeurs par défaut au lieu de conserver les valeurs existantes de la stratégie modifiée.
Pour modifier la version de l'agent Ops installé sur toutes les VM par une règle globale, utilisez la commande suivante :
gcloud compute global-vm-extension-policies update POLICY_NAME \
--project=PROJECT_ID \
--extensions=ops-agent \
--rollout-predefined-plan=slow_rollout \
--version=ops-agent=VERSION
Remplacez les variables suivantes dans la commande :
- POLICY_NAME : nom de la règle d'extension de VM.
- PROJECT_ID : identifiant du projet.
- VERSION : version de l'agent Ops à installer.
Utilisez la version 2.58.0 ou une version ultérieure.
Pour obtenir la liste des versions, consultez la page des versions de l'agent Ops sur GitHub.
Si vous omettez l'option
--version, la règle installe la dernière version et met à jour l'agent Ops lorsqu'une nouvelle version est publiée, comme illustré dans l'exemple qui installe la dernière version.
Modifier la configuration de l'agent Ops sur toutes les VM
Pour modifier la configuration de l'agent Ops, procédez comme suit :
Console
Pour créer une règle zonale, vous pouvez utiliser la console Google Cloud .
-
Dans la console Google Cloud , accédez à la page Règles d'extension :
Accéder aux règles des extensions
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Compute Engine.
- Sélectionnez la stratégie que vous souhaitez mettre à jour.
- Cliquez sur Modifier.
- Dans la section Gérer les extensions, procédez comme suit :
- Dans la liste Extension, sélectionnez
Google Cloud's Extension for Ops Agent. - Dans le champ Contenu du fichier de configuration, saisissez la chaîne de configuration YAML de l'agent Ops.
- Cliquez sur OK.
- Dans la liste Extension, sélectionnez
- Cliquez sur Enregistrer.
gcloud
Pour créer une stratégie zonale ou globale, vous pouvez utiliser la gcloud CLI.
Zonal
Exécutez la commande gcloud compute zone-vm-extension-policies update avec l'option --config-from-file ou --config pour spécifier une nouvelle configuration.
Lorsque vous mettez à jour une stratégie à l'aide de gcloud, la requête agit comme un remplacement complet. Tous les champs facultatifs que vous omettez dans la requête reviennent donc à leurs valeurs par défaut au lieu de conserver les valeurs existantes de la stratégie modifiée.
Pour modifier la configuration de l'agent Ops installé sur toutes les VM d'une zone par une règle, utilisez la commande suivante :
gcloud compute zone-vm-extension-policies update POLICY_NAME \
--project=PROJECT_ID \
--zone=ZONE \
--extensions=ops-agent
--config-from-file=ops-agent="OPS_AGENT_CONFIG_PATH"
Remplacez les variables suivantes dans la commande :
- POLICY_NAME : nom de la règle d'extension de VM.
- PROJECT_ID : identifiant du projet.
- ZONE : zone cible, par exemple
us-central1-f. - OPS_AGENT_CONFIG_PATH : chemin d'accès à un fichier contenant la chaîne de configuration YAML de l'agent Ops. Ce fichier doit exister dans l'environnement où vous exécutez la commande gcloud.
La configuration YAML de l'agent Ops peut être longue. Placer la configuration dans un fichier et transmettre ce fichier à la gcloud CLI est beaucoup moins sujet aux erreurs que d'essayer de saisir du code YAML correctement formaté sur la ligne de commande.
Monde
Exécutez la commande gcloud compute global-vm-extension-policies update avec l'option --config-from-file ou --config pour spécifier une nouvelle configuration.
Lorsque vous mettez à jour une stratégie à l'aide de gcloud, la requête agit comme un remplacement complet. Tous les champs facultatifs que vous omettez dans la requête reviennent donc à leurs valeurs par défaut au lieu de conserver les valeurs existantes de la stratégie modifiée.
Pour modifier la configuration de l'agent Ops installé sur toutes les VM par une règle, utilisez la commande suivante :
gcloud compute global-vm-extension-policies update POLICY_NAME \
--project=PROJECT_ID \
--extensions=ops-agent \
--rollout-predefined-plan=slow_rollout \
--config-from-file=ops-agent="OPS_AGENT_CONFIG_PATH"
Remplacez les variables suivantes dans la commande :
- POLICY_NAME : nom de la règle d'extension de VM.
- PROJECT_ID : identifiant du projet.
- OPS_AGENT_CONFIG_PATH : chemin d'accès à un fichier contenant la chaîne de configuration YAML de l'agent Ops. Ce fichier doit exister dans l'environnement où vous exécutez la commande gcloud.
La configuration YAML de l'agent Ops peut être longue. Placer la configuration dans un fichier et transmettre ce fichier à la gcloud CLI est beaucoup moins sujet aux erreurs que d'essayer de saisir du code YAML correctement formaté sur la ligne de commande.
Si vous fournissez une configuration personnalisée pour l'agent Ops lors de la création ou de la mise à jour d'une règle d'extension, la règle déploie l'agent Ops avec la configuration personnalisée. Vous n'avez pas besoin de redémarrer manuellement l'agent.
La configuration est stockée avec la règle d'extension. N'incluez donc pas de données sensibles telles que des mots de passe dans la configuration. Étant donné que la configuration est stockée avec la règle d'extension, la modification du fichier de configuration ne modifie pas la configuration de l'agent. Vous devez mettre à jour la configuration stockée avec la stratégie à l'aide de la commande gcloud appropriée :
- Pour les règles zonales, utilisez la commande
gcloud compute zone-vm-extension-policiesupdate. - Pour les stratégies globales, utilisez la commande
gcloud compute global-vm-extension-policiesupdate.
Lorsque vous fournissez une configuration personnalisée pour l'agent Ops, VM Extension Manager copie la configuration à l'emplacement utilisé par l'agent Ops pour les fichiers de configuration spécifiés par l'utilisateur sur la VM cible :
- Linux :
/etc/google-cloud-ops-agent/config.yaml - Windows :
C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml
Si un fichier config.yaml est présent sur la VM, la règle d'extension l'écrase.
Pour en savoir plus sur l'utilisation de la consoleGoogle Cloud et de la gcloud CLI pour gérer les règles d'extension de VM, consultez Modifier des extensions en mettant à jour une règle d'extension de VM.
Étendre une stratégie globale existante pour inclure de nouvelles zones (global uniquement)
Lorsque des VM sont créées dans de nouvelles zones après la création et le déploiement d'une règle globale, VM Extension Manager n'applique pas automatiquement la règle aux VM des nouvelles zones. Pour inclure les VM dans de nouvelles zones, vous devez redémarrer le déploiement de la règle globale.
Pour redémarrer le déploiement d'une règle globale, utilisez la commande gcloud compute global-vm-extension-policies update et fournissez l'option --rollout-retry-uuid=UUID.
Par exemple, supposons que vous avez créé et déployé une règle globale à l'aide de la commande suivante :
gcloud compute global-vm-extension-policies create POLICY_NAME \
--project=PROJECT_ID \
--extensions=ops-agent \
--version=ops-agent=2.61.0 \
--rollout-predefined-plan=slow_rollout \
--config-from-file=ops-agent="/usr/ops-agent-config.yaml"
Pour étendre la règle aux VM créées dans des zones précédemment inutilisées, redémarrez le déploiement à l'aide de la commande suivante :
gcloud compute global-vm-extension-policies update test-policy POLICY_NAME \
--project=PROJECT_ID \
--extensions=ops-agent \
--version=ops-agent=2.61.0 \
--rollout-predefined-plan=slow_rollout \
--config-from-file=ops-agent="/usr/ops-agent-config.yaml" \
--rollout-retry-uuid=UUID
Remplacez les variables suivantes dans la commande :
- POLICY_NAME : nom de la règle d'extension de VM.
- PROJECT_ID : identifiant du projet.
- UUID : identifiant unique universel (UUID) qui identifie la requête de nouvelle tentative. Vous pouvez utiliser n'importe quel générateur d'UUID pour en créer un. Pour en savoir plus, consultez Réessayer un déploiement .
Mettre à jour une stratégie globale pour exclure un ensemble de zones (global uniquement)
Pour mettre à jour les zones auxquelles s'applique une règle globale qui exclut certaines zones d'un projetGoogle Cloud , vous devez utiliser un nouveau plan de déploiement personnalisé qui spécifie les zones dans lesquelles appliquer la règle. Pour en savoir plus sur la création de plans de déploiement personnalisés, consultez
À propos des plans de déploiement. Pour spécifier un ensemble de zones, utilisez le champ locationSelector.includedLocations lors de la création du plan de déploiement.
Pour mettre à jour une règle d'extension qui utilise un plan de déploiement personnalisé, utilisez la commande gcloud compute global-vm-extension-policies update suivante :
gcloud compute global-vm-extension-policies update POLICY_NAME \
--project=PROJECT_ID \
--extensions=ops-agent \
--rollout-custom-plan=projects/PROJECT_ID/locations/global/rolloutPlans/NEW_CUSTOM_PLAN_NAME \
--rollout-retry-uuid=UUID
Remplacez les variables suivantes dans la commande :
- POLICY_NAME : nom de la règle d'extension de VM.
- PROJECT_ID : identifiant du projet.
- NEW_CUSTOM_PLAN_NAME : nom associé à votre plan de déploiement personnalisé mis à jour.
- UUID : identifiant unique universel (UUID) qui identifie la requête de nouvelle tentative. Vous pouvez utiliser n'importe quel générateur d'UUID pour en créer un. Pour en savoir plus, consultez Réessayer un déploiement .
Désinstaller l'Agent Ops en supprimant les règles d'extension de VM
Pour désinstaller l'Agent Ops, supprimez la règle d'extension de VM qui gère l'agent. Si une autre règle active de priorité inférieure s'applique à une VM et gère également l'agent Ops, celui-ci reste installé sur cette VM en fonction de la règle de priorité inférieure.
VM Extension Manager supprime l'agent Ops de toutes les VM accessibles dans la minute qui suit la suppression de la règle. Si une VM est inaccessible, VM Extension Manager ignore la suppression de l'agent. Si la VM redevient disponible, VM Extension Manager supprime l'agent à ce moment-là.
Console
-
Dans la console Google Cloud , accédez à la page Règles d'extension :
Accéder aux règles des extensions
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Compute Engine.
- Sélectionnez la stratégie que vous souhaitez supprimer.
- Cliquez sur Supprimer.
- Dans la boîte de dialogue de confirmation, cliquez sur Supprimer.
gcloud
Zonal
Pour supprimer la règle d'extension de VM qui gère l'Agent Ops, utilisez la commande gcloud compute zone-vm-extension-policies delete :
gcloud compute zone-vm-extension-policies delete POLICY_NAME \
--project=PROJECT_ID \
--zone=ZONE
Remplacez les variables suivantes dans la commande :
- POLICY_NAME : nom de la règle d'extension de VM.
- PROJECT_ID : identifiant du projet.
- ZONE : zone cible, par exemple
us-central1-f.
Monde
Pour supprimer la règle d'extension de VM globale qui gère l'Agent Ops, utilisez la commande gcloud compute global-vm-extension-policies delete :
gcloud compute global-vm-extension-policies delete POLICY_NAME \
--project=PROJECT_ID \
--rollout-predefined-plan=slow_rollout
Remplacez les variables suivantes dans la commande :
- POLICY_NAME : nom de la règle d'extension de VM.
- PROJECT_ID : identifiant du projet.
Pour accélérer un déploiement de suppression déjà lancé, exécutez une nouvelle commande de suppression qui utilise le plan fast_rollout. Vous devez également spécifier l'option --rollout-retry-uuid=UUID :
gcloud compute global-vm-extension-policies delete POLICY_NAME \
--project=PROJECT_ID \
--rollout-predefined-plan=fast_rollout \
--rollout-retry-uuid=UUID
Remplacez les variables suivantes dans la commande :
- POLICY_NAME : nom de la règle d'extension de VM.
- PROJECT_ID : identifiant du projet.
- UUID : identifiant unique universel (UUID) qui identifie la requête de nouvelle tentative. Vous pouvez utiliser n'importe quel générateur d'UUID pour en créer un. Pour en savoir plus, consultez Réessayer un déploiement .
Récupérer des informations sur les règles d'extension de VM
Vous pouvez récupérer les informations suivantes sur les règles d'extension de VM existantes :
- Liste de toutes les règles de votre projet Google Cloud .
- Informations de configuration concernant une règle spécifique.
Console
-
Dans la console Google Cloud , accédez à la page Règles d'extension :
Accéder aux règles des extensions
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Compute Engine.
Cette page répertorie toutes les règles d'extension de VM de votre projet. - Pour afficher les détails d'une règle d'extension spécifique, cliquez sur son nom.
gcloud
Zonal
Lister les règles d'extension de VM
Pour lister les informations sur toutes les règles d'extension de VM d'une zone, utilisez la commande gcloud compute zone-vm-extension-policies list :
gcloud compute zone-vm-extension-policies list \
--project=PROJECT_ID \
--zone=ZONE \
--page-size=PAGE_SIZE_INTEGER
Remplacez les variables suivantes dans la commande :
- PROJECT_ID : identifiant du projet.
- ZONE : zone cible, par exemple
us-central1-f. - PAGE_SIZE_INTEGER : nombre de règles à lister par page (par exemple,
2). Pour en savoir plus sur les options de tri et de filtrage, consultezgcloud compute zone-vm-extension-policieslist.
Décrire une règle d'extension de VM nommée
Pour récupérer la configuration d'une règle nommée dans une zone, utilisez la commande gcloud compute zone-vm-extension-policies describe :
gcloud compute zone-vm-extension-policies describe POLICY_NAME \
--project=PROJECT_ID \
--zone=ZONE
Remplacez les variables suivantes dans la commande :
- POLICY_NAME : nom de la règle d'extension de VM.
- PROJECT_ID : identifiant du projet.
- ZONE : zone cible, par exemple
us-central1-f.
Monde
Lister les règles d'extension de VM globales
Pour lister les informations sur les règles d'extension de VM globales, utilisez la commande gcloud compute global-vm-extension-policies list :
gcloud compute global-vm-extension-policies list \
--project=PROJECT_ID \
--page-size=PAGE_SIZE_INTEGER
Remplacez les variables suivantes dans la commande :
- PROJECT_ID : identifiant du projet.
- PAGE_SIZE_INTEGER : nombre de règles à lister par page (par exemple,
2). Pour en savoir plus sur les options de tri et de filtrage, consultezgcloud compute global-vm-extension-policieslist.
Décrire une règle d'extension de VM globale nommée
Pour récupérer la configuration d'une règle nommée dans une zone, utilisez la commande gcloud compute global-vm-extension-policies describe :
gcloud compute global-vm-extension-policies describe POLICY_NAME \
--project=PROJECT_ID
Remplacez les variables suivantes dans la commande :
- POLICY_NAME : nom de la règle d'extension de VM.
- PROJECT_ID : identifiant du projet.
Pour obtenir des informations générales sur l'utilisation de la consoleGoogle Cloud et de la gcloud CLI pour récupérer des informations sur les règles d'extension de VM, consultez Afficher les règles d'extension.
Redémarrer un agent Ops installé par une règle d'extension
Lorsque l'agent Ops est installé et géré par VM Extension Manager, il n'est pas géré par le service de gestion du système d'exploitation, c'est-à-dire systemd sous Linux ou le gestionnaire de services Windows sous Windows. Par conséquent, les commandes Linux systemctl et Windows *-Service ne fonctionnent pas avec un agent Ops installé par une règle d'extension.
Pour redémarrer un agent Ops installé par une règle d'extension, effectuez l'une des opérations suivantes :
Recréez la règle.
Utilisez une règle temporaire de priorité plus élevée. Si la règle d'origine affecte un grand nombre de VM, mais que vous ne souhaitez redémarrer l'agent Ops que sur un petit nombre d'entre elles, ajoutez un libellé à ces VM et configurez la nouvelle règle pour filtrer sur ce libellé.
Par exemple, si une règle de priorité 1000 n'a pas réussi à démarrer l'agent Ops sur une VM, vous pouvez ajouter un libellé tel que
status=failedà la VM. Ensuite, créez une règle avec une priorité plus élevée, par exemple 500. Par exemple, une commande Google Cloud CLI peut se présenter comme suit :Zonal
gcloud compute zone-vm-extension-policiescreatePOLICY_NAME \ --project=PROJECT_ID \ --zone=ZONE \ --extensions=ops-agent \ --inclusion-labels=status=failed \ --priority=500 \ --config-from-file=ops-agent=/usr/ops-agent-config.yamlRemplacez les variables suivantes dans la commande :
- POLICY_NAME : nom de la règle d'extension de VM.
- PROJECT_ID : identifiant du projet.
- ZONE : zone cible, par exemple
us-central1-f.
Monde
gcloud compute global-vm-extension-policiescreatePOLICY_NAME \ --project=PROJECT_ID \ --extensions=ops-agent \ --inclusion-labels=status=failed \ --priority=500 \ --config-from-file=ops-agent=/usr/ops-agent-config.yaml \ --rollout-predefined-plan=fast_rolloutRemplacez les variables suivantes dans la commande :
- POLICY_NAME : nom de la règle d'extension de VM.
- PROJECT_ID : identifiant du projet.
Une fois que la nouvelle règle a installé l'agent Ops, supprimez la règle et l'étiquette des VM. L'Agent Ops reste installé sur la VM, car la règle d'origine est toujours active.
Activer le journal de débogage de l'agent invité sur la VM
Les règles VM Extension Manager utilisent l'agent invité Compute Engine pour gérer l'agent Ops en tant qu'extension de VM. Pour en savoir plus sur l'activation de la journalisation de débogage pour l'agent invité, consultez Afficher les journaux de débogage de l'agent invité.
Étapes suivantes
- Résoudre les problèmes liés aux règles d'extension
- Consultez des informations détaillées sur la configuration de l'agent Ops.
- En savoir plus sur VM Extension Manager