Gérer l'agent Ops à l'aide des règles de VM Extension Manager

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 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 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 .

  1. 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.

  2. Sélectionnez la stratégie que vous souhaitez mettre à jour.
  3. Cliquez sur Modifier.
  4. Dans la section Gérer les extensions, procédez comme suit :
    1. Dans la liste Extension, sélectionnez Google Cloud's Extension for Ops Agent.
    2. Modifiez le champ Version. Utilisez la version 2.58.0 ou une version ultérieure.
    3. Cliquez sur OK.
  5. 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 .

  1. 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.

  2. Sélectionnez la stratégie que vous souhaitez mettre à jour.
  3. Cliquez sur Modifier.
  4. Dans la section Gérer les extensions, procédez comme suit :
    1. Dans la liste Extension, sélectionnez Google Cloud's Extension for Ops Agent.
    2. Dans le champ Contenu du fichier de configuration, saisissez la chaîne de configuration YAML de l'agent Ops.
    3. Cliquez sur OK.
  5. 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 :

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

  1. 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.

  2. Sélectionnez la stratégie que vous souhaitez supprimer.
  3. Cliquez sur Supprimer.
  4. 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

  1. 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.
  2. 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, consultez gcloud compute zone-vm-extension-policies list.

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 :

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.

    1. Supprimez la règle. La suppression de la règle arrête et désinstalle l'Agent Ops.

    2. Créez une règle. La nouvelle règle installe l'agent Ops et le démarre.

  • 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-policies create POLICY_NAME \
      --project=PROJECT_ID \
      --zone=ZONE \
      --extensions=ops-agent  \
      --inclusion-labels=status=failed \
      --priority=500 \
      --config-from-file=ops-agent=/usr/ops-agent-config.yaml
    

    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

    gcloud compute global-vm-extension-policies create POLICY_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_rollout
    

    Remplacez 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