Wenn Sie Compute Engine-VMs mit dem bei der Erstellung installierten Ops-Agenten erstellt haben oder in einigen Fällen den Agenten über die Google Cloud -Konsole auf vorhandenen VMs installiert haben, wurden in Google Cloud auch VM Manager-Betriebssystemrichtlinien erstellt, mit denen der Ops-Agent installiert und überwacht wird. In diesem Dokument wird beschrieben, wie Sie diese Betriebssystemrichtlinien für den Ops-Agenten abfragen und den Ops-Agenten auf VMs verwalten, die von den Richtlinien abgedeckt sind. Informationen zum Erstellen von VMs mit dem automatisch installierten Ops-Agent finden Sie unter Ops-Agent während der VM-Erstellung installieren.
Nachdem eine Betriebssystemrichtlinie für den Ops-Agenten erstellt wurde, haben Sie folgende Möglichkeiten:
- Ermitteln Sie, welche VMs von der Richtlinie abgedeckt sind.
- Legen Sie fest, auf welche Zonen die Richtlinie angewendet werden soll.
- Erweitern der Richtlinienabdeckung auf vorhandene VMs
- Deinstallieren des Agents von einer VM, die von der Richtlinie abgedeckt wird.
VMs finden, die von den Betriebssystemrichtlinien des Ops-Agents abgedeckt werden
In der Google Cloud Console oder in der Google Cloud CLI können Sie sehen, welche VMs in Ihrem Google Cloud -Projekt durch eine Zuweisung von Betriebssystemrichtlinien von den Betriebssystemrichtlinien von Ops Agent abgedeckt sind. Wenn Sie der Meinung sind, dass für eine VM keine Abdeckung besteht, können Sie so vorgehen:
- Prüfen Sie, ob eine VM ein Ops-Agent-Betriebssystemrichtlinien-Label hat.
- Prüfen Sie, ob die Zuweisung einer Ops-Agent-Betriebssystemrichtlinie erfolgreich eingeführt wurde.
Prüfen, ob VMs in einer Zone eine Ops-Agent-Betriebssystemrichtlinie zugewiesen ist
Um zu prüfen, ob die VMs in einer Zone von der Betriebssystemrichtlinie des Ops-Agenten abgedeckt sind, können Sie entweder die Google Cloud Console oder die gcloud CLI verwenden, um zu sehen, ob die VM mit einer Zuweisung der Betriebssystemrichtlinie des Ops-Agenten verknüpft ist.
Console
-
Rufen Sie in der Google Cloud -Console die Seite Betriebssystemrichtlinien auf:
Zu „Betriebssystemrichtlinien“
Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Compute Engine lautet.
Wählen Sie auf dem Tab VM-Instanzen die VM aus, die Sie prüfen möchten.
Wenn die VM von einer Betriebssystemrichtlinie des Ops-Agenten abgedeckt ist, enthält die Spalte OS-Richtlinien-ID die Zahl
goog-ops-agent-policy
und der Status ist „Compliant“ (Einhaltung).
gcloud
Führen Sie den folgenden Befehl aus, um eine Liste der Ops-Agent-Betriebssystemrichtlinien in einer Zone aufzurufen:
gcloud compute os-config os-policy-assignment-reports list --location=ZONE --filter="ASSIGNMENT_ID ~ goog-ops-agent"
Die Ausgabe enthält eine Liste von VMs mit einer OS-Richtlinienzuweisung für den Ops-Agent. Wenn der Ops-Agent auf der VM installiert ist, enthält die Spalte „Zusammenfassung“ den Wert „1/1 Richtlinien konform“.
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
Prüfen Sie, ob eine VM ein Ops-Agent-Betriebssystemrichtlinien-Label hat
Wenn Sie sehen möchten, welche VMs in Ihrem Google Cloud -Projekt das Label „Ops Agent-Betriebssystemrichtlinie“, goog-ops-agent-policy
, haben, verwenden Sie entweder die Google Cloud -Console oder die gcloud CLI.
Console
-
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf:
Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Compute Engine lautet.
Wählen Sie den Namen Ihrer VM aus.
Suchen Sie im Bereich Allgemeine Informationen nach dem Eintrag Labels.
Wenn die VM von der Betriebssystemrichtlinie des Ops-Agents abgedeckt ist, hat sie ein Label wie
goog-ops-agent-policy:v2-x86-template-1-0-0
.
gcloud
Führen Sie den folgenden Befehl aus, um alle VMs mit dem Label „Ops Agent-Betriebssystemrichtlinie“ goog-ops-agent-policy
aufzurufen:
gcloud compute instances list --format="table(name,zone,labels)" --filter="labels=goog-ops-agent-policy"
Die Ausgabe enthält den Namen, die Zone und die Labels der VMs. Beispiel:
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'}
Führen Sie den folgenden Befehl aus, um zu prüfen, ob eine bestimmte VM das Label für die Betriebssystemrichtlinie des Ops-Agents hat:
gcloud compute instances describe --format "yaml(labels)" --zone=ZONE VM_NAME
Die Ausgabe enthält eine Liste der Labels für Ihre VM. Wenn Ihre VM das Label „Ops-Agent-Betriebssystemrichtlinie“ hat, wird goog-ops-agent-policy
in der Liste labels
angezeigt. Beispiel:
labels: goog-ops-agent-policy: v2-x86-template-1-0-0
Prüfen Sie, ob die Zuweisung einer Ops-Agent-Betriebssystemrichtlinie erfolgreich eingeführt wurde
Sehen Sie sich die Zuweisungen von Betriebssystemrichtlinien für Ihr Google Cloud -Projekt an, um zu prüfen, ob eine Zuweisung von Betriebssystemrichtlinien für einen Ops-Agenten in einer bestimmten Zone korrekt bereitgestellt wurde.
Console
-
Rufen Sie in der Google Cloud -Console die Seite Betriebssystemrichtlinien auf:
Zu „Betriebssystemrichtlinien“
Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Compute Engine lautet.
Klicken Sie auf den Tab Zuweisungen von Betriebssystemrichtlinien, um den Status der Roll-outs von Betriebssystemrichtlinien aufzurufen.
Die IDs von Betriebssystemrichtlinienzuweisungen für den Ops-Agent beginnen mit dem String „goog-ops-agent“. Wenn die Zuweisung erfolgreich eingeführt wurde, hat sie den Rollout-Status "Erfolgreich".
gcloud
Führen Sie den folgenden Befehl aus, um alle Betriebssystemrichtlinienzuweisungen des Ops-Agents in einer Zone aufzurufen:
gcloud compute os-config os-policy-assignments list --location=ZONE --filter="ASSIGNMENT_ID ~ goog-ops-agent"
Die Ausgabe enthält eine Liste der Zuweisungen von Betriebssystemrichtlinien für Ops-Agents in einer Zone. Wenn die Zuweisung erfolgreich eingeführt wurde, hat sie den Rollout-Status "ERFOLGREICH". Beispiel:
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
Führen Sie den folgenden Befehl aus, um Details zu einer bestimmten Betriebssystemrichtlinienzuweisung für den Ops-Agenten aufzurufen:
gcloud compute os-config os-policy-assignments describe POLICY_ASSIGNMENT_ID --location=ZONE
Ops-Agent auf VMs deinstallieren, die von der Betriebssystemrichtlinie des Ops-Agents abgedeckt werden
Wenn Sie den Ops-Agent auf einer VM, die von der Betriebssystemrichtlinie des Ops-Agents abgedeckt wird, manuell deinstallieren, wird er durch die Richtlinie wieder installiert. Wenn Sie den Ops-Agenten deinstallieren möchten, müssen Sie zuerst das goog-ops-agent-policy
-Label von der VM entfernen. Nachdem Sie das Label der Ops-Agent-Betriebssystemrichtlinie von einer VM entfernt haben, können Sie den Ops-Agent dauerhaft deinstallieren.
Ops-Agent auf einer bestimmten VM deinstallieren
Wenn Sie die Richtlinie entfernen und den Ops-Agenten von einer bestimmten VM deinstallieren möchten, können Sie die Google Cloud Console oder die gcloud CLI verwenden.
Console
-
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf:
Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Compute Engine lautet.
Wählen Sie den Namen der VM aus, die Sie bearbeiten möchten.
Klicken Sie auf Bearbeiten.
Klicken Sie im Bereich Labels auf + Labels hinzufügen.
Suchen Sie das Label mit dem Schlüssel
goog-ops-agent-policy
und klicken Sie auf Element löschen.
gcloud
Führen Sie den folgenden Befehl aus, um das
goog-ops-agent-policy
-Label von einer VM zu entfernen:gcloud compute instances update VM_NAME \ --remove-labels=goog-ops-agent-policy
Ops-Agent auf allen VMs deinstallieren
Verwenden Sie das von Cloud Monitoring bereitgestellte Script, um den Ops-Agent von VMs in einer Zone zu deinstallieren, für die eine Ops-Agent-Betriebssystemrichtlinie zugewiesen ist. Sie können den Agenten nicht über die Google Cloud Console von einer Gruppe von VMs deinstallieren.
Zum Ausführen des Scripts benötigen Sie die Rolle GuestPolicy-Bearbeiter (roles/osconfig.guestPolicyEditor
).
Führen Sie in Cloud Shell das folgende Script aus. Sie können eine beliebige Anzahl von Zonen angeben:
curl -sSO https://dl.google.com/cloudagents/undo-ops-agent-policies.sh bash undo-ops-agent-policies.sh ZONE1 ZONE2
Das Script führt in jeder Zone die folgenden Aufgaben aus:
- Hiermit werden alle Betriebssystemrichtlinien des Ops-Agents gefunden.
- Bearbeiten Sie jede Richtlinie so, dass der Ops-Agent auf den entsprechenden VMs deinstalliert wird.
- Löscht die Betriebssystemrichtlinie des Ops-Agents.
- Das Label
goog-ops-agent-policy
wird von jeder abgedeckten VM entfernt.
Ops-Agent-Betriebssystemrichtliniendeckung auf eine vorhandene VM anwenden
Die Ops-Agent-Betriebssystemrichtlinie gilt nur für VMs mit dem Label goog-ops-agent-policy
, die sich in derselben Zone wie eine vorhandene Zuweisung der Ops-Agent-Betriebssystemrichtlinie befinden. Sie können den Schutz jedoch auf andere VMs ausweiten, die ohne die Ops-Agent-Betriebssystemrichtlinie erstellt wurden.
Wenn Sie die Richtlinienabdeckung auf eine VM ausweiten möchten, müssen Sie die Vorlagenversion der Zuweisung der Betriebssystemrichtlinie des Ops-Agents in Ihrer Zone kennen. Wenn für Ihre Zone mehrere Zuweisungen von Betriebssystemrichtlinien für den Ops-Agenten vorhanden sind, suchen Sie die Zuweisung mit der neuesten Vorlagenversion. Führen Sie den folgenden Befehl aus, um eine Liste der Ops-Agent-Betriebssystemrichtlinien in einer Zone aufzurufen:
gcloud compute os-config os-policy-assignments list --location=ZONE --filter="ASSIGNMENT_ID ~ goog-ops-agent"
Wenn Sie die Richtlinienabdeckung auf andere VMs ausweiten möchten, verwenden Sie entweder die Google Cloud Console oder die gcloud CLI:
Console
-
Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf:
Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Compute Engine lautet.
Klicken Sie in der Liste VM-Instanzen auf die Kästchen neben den VMs, die Sie beschriften möchten, und dann auf Labels.
Klicken Sie zum Hinzufügen von Labels auf +Label hinzufügen und fügen Sie das Schlüssel/Wert-Paar hinzu. Der Schlüssel muss
goog-ops-agent-policy
sein und der Wert ist die gewünschte Vorlagenversion, z. B.1-0-0
.Speichern Sie die Änderungen.
gcloud
Wenn Sie die Richtlinienabdeckung auf eine VM ohne Abdeckung ausweiten möchten, führen Sie die folgenden Befehle aus:
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
Berechtigung
Die Ops-Agent-Installation verwendet VM Manager und erfordert Berechtigungen zum Aktivieren der VM Manager API und zum Erstellen einer Richtlinie. Alle erforderlichen Berechtigungen sind über die Rolle „Bearbeiter” (roles/Editor
) verfügbar. Sie können auch einen Projektadministrator bitten, die minimalen Berechtigungen über die Google Cloud CLI zu erteilen.
Erforderliche Berechtigungen für die Installation des Ops-Agents während der VM-Erstellung:
serviceusage.services.get
serviceusage.services.enable
osconfig.osPolicyAssignments.get
osconfig.osPolicyAssignments.create
osconfig.projectBillingConfigs.update
compute.instances.create
Erforderliche Berechtigungen für die Installation des Ops-Agents auf vorhandenen VMs:
serviceusage.services.get
serviceusage.services.enable
osconfig.osPolicyAssignments.get
osconfig.osPolicyAssignments.create
osconfig.projectBillingConfigs.update
compute.instances.setMetadata
compute.instances.setLabels
Entsprechende Rollen mit diesen Berechtigungen finden Sie in der Referenz zu einfachen und vordefinierten IAM-Rollen, mit Ausnahme der Berechtigung osconfig.projectBillingConfigs.update
. Diese Berechtigung ist in der Rolle osconfig.projectBillingConfig
enthalten. Diese Rolle ist in der Google Cloud Console nicht verfügbar, kann aber über die gcloud CLI gewährt werden.
Beispielbefehle zum Gewähren von Rollen für Berechtigungen:
gcloud projects add-iam-policy-binding project-id --member='user:user-email' --role='roles/osconfig.projectBillingConfigEditor'