Si vous avez créé des VM Compute Engine avec l'Agent Ops installé lors de la création ou, dans certains cas, si vous avez installé l'agent sur des VM existantes à l'aide de la console Google Cloud, Google Cloud a également créé des règles d'OS VM Manager qui installent et surveillent l'Agent Ops. Ce document explique comment interroger ces règles d'OS et gérer l'Agent Ops sur les VM soumises à ces règles. Pour en savoir plus sur la création de VM avec l'Agent Ops installé automatiquement, consultez la section Installer l'Agent Ops lors de la création de la VM.
Après avoir créé une règle d'OS d'Agent Ops, vous pouvez effectuer les opérations suivantes :
- Déterminer les VM soumises à la règle
- Déterminer les zones soumise à la règle
- Étendre la couverture de la règle aux VM existantes
- Désinstaller l'agent d'une VM soumise à la règle
Rechercher les VM soumises aux règles d'OS de l'Agent Ops
Vous pouvez utiliser la console Google Cloud ou Google Cloud CLI pour afficher les VM de votre projet Google Cloud soumises aux règles d'OS de l'Agent Ops via une attribution de règle d'OS. Si vous pensez qu'une VM manque de couverture, vous pouvez résoudre le problème en procédant comme suit :
- Vérifiez qu'une VM possède une étiquette de règle d'OS de l'Agent Ops.
- Vérifiez qu'une attribution de règle d'OS de l'Agent Ops a bien été déployée.
Vérifier qu'une règle d'OS de l'Agent Ops est attribuée aux VM d'une zone
Pour vérifier que les VM d'une zone sont couvertes par la règle d'OS de l'Agent Ops, utilisez la console Google Cloud ou gcloud CLI pour voir si la VM est liée à une attribution de règle d'OS de l'Agent Ops.
Console
-
Dans la console Google Cloud, accédez à la page Règles d'OS.
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Compute Engine.
Dans l'onglet Instances de VM, sélectionnez la VM que vous souhaitez vérifier.
Si la VM est couverte par une règle d'OS de l'Agent Ops, la colonne ID de la règle d'OS inclut
goog-ops-agent-policy
et l'état est "Conforme".
gcloud
Pour afficher la liste des attributions de règles d'OS de l'Agent Ops dans une zone, exécutez la commande suivante :
gcloud compute os-config os-policy-assignment-reports list --location=ZONE --filter="ASSIGNMENT_ID ~ goog-ops-agent"
Le résultat affiche une liste des VM avec une attribution de règle d'OS de l'Agent Ops. Si l'Agent Ops est installé sur la VM, la colonne "Résumé" affiche la valeur "Conformité 1/1 règles".
INSTANCE ASSIGNMENT_ID LOCATION UPDATE_TIME SUMMARY instance-1 goog-ops-agent-v2-x86-template-1-0-0-us-east4-c us-east4-c 2023-04-28T02:11:15.118088Z 1/1 policies compliant instance-3 goog-ops-agent-v2-x86-template-1-0-0-us-east4-c us-east4-c 2023-04-28T02:11:15.118088Z 1/1 policies compliant
Vérifier qu'une VM possède une étiquette de règle d'OS de l'Agent Ops
Pour savoir quelles VM de votre projet Google Cloud possèdent l'étiquette de règle d'OS de l'Agent Ops, goog-ops-agent-policy
, utilisez la console Google Cloud ou gcloud CLI.
Console
-
Dans la console Google Cloud, accédez à la page Instances de VM :
Accéder à la page Instances de VM
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 le nom de votre VM.
Dans le panneau Informations générales, localisez l'entrée Étiquettes.
Si la VM est couverte par la règle d'OS de l'Agent Ops, elle possède une étiquette telle que
goog-ops-agent-policy:v2-x86-template-1-0-0
.
gcloud
Pour afficher toutes les VM portant l'étiquette de règle d'OS de l'Agent Ops goog-ops-agent-policy
, exécutez la commande suivante :
gcloud compute instances list --format="table(name,zone,labels)" --filter="labels=goog-ops-agent-policy"
Le résultat affiche le nom, la zone et les étiquettes des VM. Exemple :
NAME ZONE LABELS test-vm1 us-central1-a {'goog-ops-agent-policy': 'v2-x86-template-1-0-0'} test-vm1 us-east4-c {'goog-ops-agent-policy': 'v2-x86-template-1-0-0'}
Pour savoir si une VM spécifique possède l'étiquette de règle d'OS de l'Agent Ops, exécutez la commande suivante :
gcloud compute instances describe --format "yaml(labels)" --zone=ZONE VM_NAME
Le résultat affiche une liste d'étiquettes de votre VM. Si votre VM possède l'étiquette de règle d'OS de l'Agent Ops, goog-ops-agent-policy
apparaît dans la liste labels
. Exemple :
labels: goog-ops-agent-policy: v2-x86-template-1-0-0
Vérifier qu'une attribution de règle d'OS de l'Agent Ops a bien été déployée
Affichez les attributions de règles d'OS de votre projet Google Cloud pour vérifier qu'une attribution de règle d'OS de l'Agent Ops a été correctement déployée sur une zone spécifique.
Console
-
Dans la console Google Cloud, accédez à la page Règles d'OS.
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Compute Engine.
Pour afficher l'état des déploiements de règles d'OS, cliquez sur l'onglet Attributions de règles d'OS.
Les attributions de règles d'OS de l'Agent Ops comportent des ID commençant par la chaîne "goog-ops-agent". Si l'attribution a bien été déployée, son état de déploiement est défini sur "Réussi".
gcloud
Pour afficher toutes les attributions de règles d'OS de l'Agent Ops dans une zone, exécutez la commande suivante :
gcloud compute os-config os-policy-assignments list --location=ZONE --filter="ASSIGNMENT_ID ~ goog-ops-agent"
Le résultat affiche une liste des attributions de règles d'OS de l'Agent Ops dans une zone. Si l'attribution a bien été déployée, son état de déploiement est "RÉUSSI". Exemple :
ASSIGNMENT_ID ROLLOUT_STATE REVISION_CREATE_TIME REVISION_ID goog-ops-agent-v2-x86-template-1-4-0-us-central1-b SUCCEEDED 2023-01-28T05:23:41Z. 940df3e9-77fd-470b-84df-53fb24825c4a goog-ops-agent-v2-x86-template-1-0-0-us-central1-b SUCCEEDED 2022-01-28T05:23:41Z. qwareaff-efte-erew-aeet-faer234t4gga
Pour afficher les détails d'une attribution de règle d'OS de l'Agent Ops spécifique, exécutez la commande suivante :
gcloud compute os-config os-policy-assignments describe POLICY_ASSIGNMENT_ID --location=ZONE
Désinstaller l'Agent Ops sur les VM couvertes par la règle d'OS de l'Agent Ops
Si vous désinstallez l'Agent Ops manuellement sur une VM couverte par la règle d'OS de l'Agent Ops, la règle la réinstalle. Pour désinstaller l'Agent Ops, vous devez d'abord supprimer l'étiquette goog-ops-agent-policy
de la VM. Après avoir supprimé l'étiquette de règle d'OS de l'Agent Ops d'une VM, vous pouvez désinstaller l'Agent Ops de manière permanente.
Désinstaller l'Agent Ops sur une VM spécifique
Pour supprimer la règle et désinstaller l'Agent Ops d'une VM spécifique, vous pouvez utiliser la console Google Cloud ou gcloud CLI.
Console
-
Dans la console Google Cloud, accédez à la page Instances de VM :
Accéder à la page Instances de VM
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 le nom de la VM que vous souhaitez modifier.
Cliquez sur Modifier.
Accédez à la section Étiquettes, puis cliquez sur + Ajouter des étiquettes.
Recherchez l'étiquette avec la clé
goog-ops-agent-policy
, puis cliquez sur Supprimer l'élément.
gcloud
Pour supprimer l'étiquette
goog-ops-agent-policy
d'une VM, exécutez la commande suivante :gcloud compute instances update VM_NAME \ --remove-labels=goog-ops-agent-policy
Désinstaller l'Agent Ops sur toutes les VM
Pour désinstaller l'Agent Ops des VM de la zone disposant d'une attribution de règle d'OS de l'Agent Ops, utilisez le script fourni par Cloud Monitoring. Vous ne pouvez pas désinstaller l'agent d'un groupe de VM à l'aide de la console Google Cloud.
Pour exécuter le script, vous devez disposer du rôle Éditeur GuestPolicy (roles/osconfig.guestPolicyEditor
).
Exécutez le script suivant dans Cloud Shell. Vous pouvez indiquer un nombre illimité de zones :
curl -sSO https://dl.google.com/cloudagents/undo-ops-agent-policies.sh bash undo-ops-agent-policies.sh ZONE1 ZONE2
Le script effectue les tâches suivantes dans chaque zone :
- Il trouve toutes les règles d'OS de l'Agent Ops.
- Il modifie chaque règle de sorte qu'elle désinstalle l'Agent Ops sur les VM qu'elle couvre.
- Il supprime la règle d'OS de l'Agent Ops.
- Il supprime l'étiquette
goog-ops-agent-policy
de chaque VM couverte.
Ajouter la couverture de la règle d'OS de l'Agent Ops à une VM existante
La règle d'OS de l'Agent Ops ne couvre que les VM portant l'étiquette goog-ops-agent-policy
qui se trouvent dans la même zone qu'une attribution de règle d'OS de l'Agent Ops existante. Toutefois, vous pouvez étendre la couverture à d'autres VM créées sans que la règle d'OS de l'Agent Ops ne leur soit attribuée.
Pour étendre la couverture de la règle à une VM, vous devez connaître la version de modèle de l'attribution de règle d'OS de l'Agent Ops dans votre zone. Si votre zone comporte plusieurs attributions de règles d'OS de l'Agent Ops, recherchez l'attribution avec la dernière version du modèle. Pour afficher la liste des attributions de règles d'OS de l'Agent Ops dans une zone, exécutez la commande suivante :
gcloud compute os-config os-policy-assignments list --location=ZONE --filter="ASSIGNMENT_ID ~ goog-ops-agent"
Pour étendre la couverture de la règle à d'autres VM, utilisez la console Google Cloud ou gcloud CLI :
Console
-
Dans la console Google Cloud, accédez à la page Instances de VM :
Accéder à la page Instances de VM
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Compute Engine.
Dans la liste Instances de VM, cochez les cases à côté des VM auxquelles vous souhaitez ajouter une étiquette, puis cliquez sur Étiquette.
Pour ajouter des étiquettes, cliquez sur + Ajouter une étiquette et ajoutez la paire clé-valeur. La clé doit être
goog-ops-agent-policy
et la valeur correspond à la version de modèle souhaitée, par exemple1-0-0
.Enregistrez les modifications.
gcloud
Pour étendre la couverture de règle à une VM sans couverture, exécutez les commandes suivantes :
gcloud compute instances update VM_NAME --zone=ZONE --update-labels=goog-ops-agent-policy:v2-x86-template-1-0-0
gcloud compute instances add-metadata VM_NAME --zone=ZONE --metadata=enable-osconfig=TRUE
Autorisation
L'installation de l'agent Ops utilise VM Manager et nécessite des autorisations pour activer l'API VM Manager et créer une règle. Les autorisations requises sont toutes disponibles à l'aide du rôle Éditeur (roles/Editor
). Vous pouvez également demander à un administrateur du projet d'accorder les autorisations minimales à l'aide de Google Cloud CLI.
Autorisations requises pour installer l'agent Ops lors de la création de la VM :
serviceusage.services.get
serviceusage.services.enable
osconfig.osPolicyAssignments.get
osconfig.osPolicyAssignments.create
osconfig.projectBillingConfigs.update
compute.instances.create
Autorisations requises pour installer l'agent Ops sur les VM existantes :
serviceusage.services.get
serviceusage.services.enable
osconfig.osPolicyAssignments.get
osconfig.osPolicyAssignments.create
osconfig.projectBillingConfigs.update
compute.instances.setMetadata
compute.instances.setLabels
Vous pouvez trouver les rôles correspondants qui fournissent ces autorisations dans la documentation de référence sur les rôles de base et prédéfinis IAM, à l'exception de l'autorisation osconfig.projectBillingConfigs.update
. Cette autorisation est incluse dans le rôle osconfig.projectBillingConfig
. Ce rôle n'est pas disponible dans la console Google Cloud, mais il peut être attribué via gcloud CLI.
Exemples de commandes permettant d'accorder des rôles :
gcloud projects add-iam-policy-binding project-id --member='user:user-email' --role='roles/osconfig.projectBillingConfigEditor'