Wenn Sie Compute Engine-VMs mit dem Ops-Agent erstellt haben, der während der Erstellung installiert wurde, oder wenn Sie in einigen Fällen den Agent mithilfe der Google Cloud Console auf vorhandenen VMs installiert haben, dann hat Google Cloud auch VM Manager-Betriebssystemrichtlinien erstellt, die den Ops-Agent installieren und überwachen. Dieses Dokument beschreibt, wie Sie diese Ops-Agent-Betriebssystemrichtlinien abfragen und die Ops-Agent auf VMs, die von den Richtlinien abgedeckt werden. Informationen zum Erstellen von VMs mit dem Ops-Agent, wenn dieser automatisch installiert wird, finden Sie unter Ops-Agent während der VM-Erstellung installieren.
Nachdem eine Ops-Agent-Betriebssystemrichtlinie erstellt wurde, können Sie Folgendes tun:
- Ermitteln Sie, welche VMs von der Richtlinie abgedeckt sind.
- Bestimmen Sie, für welche Zonen die Richtlinie gilt.
- Erweitern der Richtlinienabdeckung auf vorhandene VMs
- Deinstallieren des Agents von einer VM, die von der Richtlinie abgedeckt wird.
VMs finden, die von Ops-Agent-Betriebssystemrichtlinien abgedeckt sind
Mit der Google Cloud Console oder der Google Cloud CLI können Sie sehen, welche VMs in Ihrem Google Cloud-Projekt durch eine Betriebssystemrichtlinienzuweisung von den Betriebssystemrichtlinien des Ops-Agenten 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
So prüfen Sie, ob die VMs in einer Zone von der Ops-Agent-Betriebssystemrichtlinie abgedeckt werden: verwenden Sie entweder die Google Cloud Console oder die gcloud CLI, Gibt an, ob die VM mit einer Ops-Agent OS-Richtlinienzuweisung verbunden ist.
Console
-
Öffnen Sie in der Google Cloud Console die Seite Betriebssystemrichtlinien:
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 einem Ops-Agent-Betriebssystem abgedeckt ist enthält die Spalte Betriebssystemrichtlinien-ID
goog-ops-agent-policy
und der Status „Konform“ ist.
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 zeigt eine Liste von VMs mit einem Ops-Agent-Betriebssystem Richtlinienzuweisung. Wenn der Ops-Agent auf der VM installiert ist, wird in der Spalte „Zusammenfassung“ den Wert „1/1 Richtlinienkonform“ hat.
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
Um zu sehen, welche VMs in Ihrem Google Cloud-Projekt die
Ops-Agent OS-Richtlinienlabel, goog-ops-agent-policy
, verwenden
über 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 unter die Ops-Agent-Betriebssystemrichtlinie fällt, hat sie eine Labels 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 der 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'}
So finden Sie heraus, ob eine bestimmte VM das Richtlinienlabel des Ops-Agent-Betriebssystems hat: führen Sie den folgenden Befehl aus:
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 der 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
Prüfen Sie die Zuweisungen von Betriebssystemrichtlinien für Ihr Google Cloud-Projekt, um sicherzustellen, dass eine Zuweisung von Ops-Agent-Betriebssystemrichtlinien in einer bestimmten Zone korrekt bereitgestellt wurde.
Console
-
Öffnen Sie in der Google Cloud Console die Seite Betriebssystemrichtlinien:
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.
Zuweisungen von Ops-Agent OS-Richtlinien haben IDs, die mit dem String beginnen „goog-ops-agent“. Wenn die Zuweisung erfolgreich eingeführt wurde, hat sie den Rollout-Status "Erfolgreich".
gcloud
Um alle Zuweisungen von Ops Agent OS-Richtlinien in einer Zone anzusehen, führen Sie den folgenden Befehl aus:
gcloud compute os-config os-policy-assignments list --location=ZONE --filter="ASSIGNMENT_ID ~ goog-ops-agent"
Die Ausgabe zeigt eine Liste der Zuweisungen von Ops-Agent OS-Richtlinien 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
Um Details zu einer bestimmten Zuweisung von Ops-Agent OS-Richtlinien anzusehen, führen Sie den folgenden Befehl aus:
gcloud compute os-config os-policy-assignments describe POLICY_ASSIGNMENT_ID --location=ZONE
Ops-Agent auf VMs deinstallieren, die von der Ops-Agent-Betriebssystemrichtlinie 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. Zum Deinstallieren des Ops-Agents müssen Sie zuerst
Entfernen Sie das Label goog-ops-agent-policy
von der VM. Nachdem Sie die
Ops-Agent OS-Richtlinienlabel von einer VM, Sie können den Ops-Agent deinstallieren
dauerhaft.
Ops-Agent auf einer bestimmten VM deinstallieren
Wenn Sie die Richtlinie entfernen und den Ops-Agent von einer bestimmten VM deinstallieren möchten, haben Sie folgende Möglichkeiten: 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 der Taste
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-Agenten von VMs in einer Zone zu deinstallieren, die eine Ops-Agent-Betriebssystemrichtlinienzuweisung hat. Deinstallation nicht möglich den Agent über die Google Cloud Console aus einer Gruppe von VMs zu erstellen.
Zum Ausführen des Skripts benötigen Sie den
Rolle „GuestPolicy-Bearbeiter“ (roles/osconfig.guestPolicyEditor
)
Führen Sie in Cloud Shell das folgende Script aus. Sie können eine beliebige Zahl angeben von Zonen:
curl -sSO https://dl.google.com/cloudagents/undo-ops-agent-policies.sh bash undo-ops-agent-policies.sh ZONE1 ZONE2
Das Skript führt in jeder Zone die folgenden Aufgaben aus:
- Findet alle Ops-Agent-Betriebssystemrichtlinien.
- Bearbeiten jeder Richtlinie so, dass der Ops-Agent auf ihrer behandelte VMs ausführen.
- Löscht die Betriebssystemrichtlinie des Ops-Agents.
- Das Label
goog-ops-agent-policy
wird von jeder abgedeckten VM entfernt.
Abdeckung der Ops-Agent OS-Richtlinie zu einer vorhandenen VM hinzufügen
Die Ops-Agent-Betriebssystemrichtlinie gilt nur für VMs
mit dem Label goog-ops-agent-policy
und in derselben Zone wie ein vorhandenes
Zuweisung von Ops-Agent OS-Richtlinien. 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 Ops-Agent-Betriebssystemrichtlinienzuweisung in Ihrer Zone kennen. Wenn für Ihre Zone mehrere Zuweisungen von Betriebssystemrichtlinien für 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 Richtlinie auf andere VMs anwenden 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 die Kästchen neben den VMs an, und klicken Sie 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
Führen Sie die folgenden Befehle aus, um die Richtlinienabdeckung auf eine VM ohne Abdeckung auszuweiten:
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 zum Installieren 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, die diese Berechtigungen bereitstellen, finden Sie unter
Referenz zu einfachen und vordefinierten IAM-Rollen mit
mit Ausnahme der Berechtigung osconfig.projectBillingConfigs.update
. Diese Berechtigung ist in der Rolle osconfig.projectBillingConfig
enthalten. Diese Rolle ist
nicht in der Google Cloud Console verfügbar, kann aber über
gcloud CLI verwenden können.
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'