Von der Ops-Agent OS-Richtlinie abgedeckte VMs verwalten

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 werden.
  • Legen Sie fest, welche Zonen von der Richtlinie abgedeckt werden.
  • 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

Sie können die Google Cloud Console oder die Google Cloud CLI verwenden, um Welche VMs in Ihrem Google Cloud-Projekt von Ops-Agent-Betriebssystemrichtlinien abgedeckt werden durch Zuweisung von Betriebssystemrichtlinien. Wenn Sie glauben, dass eine VM nicht abgedeckt ist, können Sie das Problem so beheben:

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

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

  2. Wählen Sie auf dem Tab VM-Instanzen die VM aus, die Sie prüfen möchten.

  3. Wenn die VM von einem Ops-Agent-Betriebssystem abgedeckt ist enthält die Spalte OS policy id (Betriebssystemrichtlinien-ID) goog-ops-agent-policy und der Status „Konform“ ist.

gcloud

So rufen Sie eine Liste der Zuweisungen von Ops-Agent OS-Richtlinien in einer Zone auf: führen Sie den folgenden Befehl aus:

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

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf:

    Zu Seite VM-Instanzen

    Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Compute Engine lautet.

  2. Wählen Sie den Namen Ihrer VM aus.

  3. Suchen Sie im Bereich Allgemeine Informationen den 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

Zum Aufrufen aller VMs mit dem Richtlinienlabel des Ops-Agent-Betriebssystems goog-ops-agent-policy, führen Sie den folgenden Befehl aus:

gcloud compute instances list --format="table(name,zone,labels)" --filter="labels=goog-ops-agent-policy"

Die Ausgabe zeigt 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 zeigt eine Liste der Labels für Ihre VM. Wenn Ihre VM das Ops-Agent OS-Richtlinienlabel, dann goog-ops-agent-policy erscheint in der Liste labels. 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

Rufen Sie die Zuweisungen der Betriebssystemrichtlinien Ihres Google Cloud-Projekts auf, um zu prüfen, ob Eine Zuweisung von Ops-Agent OS-Richtlinien wurde korrekt in einer bestimmten Zone bereitgestellt.

Console

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

  2. Klicken Sie auf Zuweisungen von Betriebssystemrichtlinien, um den Status der Einführung von Betriebssystemrichtlinien zu sehen. .

    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 Roll-out-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 manuell Deinstallieren Sie den Ops-Agent auf einer VM, die vom Ops-Agent abgedeckt wird. Betriebssystemrichtlinie, wird es von der Richtlinie neu 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

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf:

    Zu Seite VM-Instanzen

    Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Compute Engine lautet.

  2. Wählen Sie den Namen der VM aus, die Sie bearbeiten möchten.

  3. Klicken Sie auf Bearbeiten.

  4. Wechseln Sie zum Bereich Labels und klicken Sie dann auf + Labels hinzufügen.

  5. Suchen Sie das Label mit dem Schlüssel goog-ops-agent-policy und klicken Sie auf Artikel löschen.

  6. Deinstallieren Sie den Agent.

gcloud

  1. So entfernen Sie das Label goog-ops-agent-policy von einer VM: führen Sie den folgenden Befehl aus:

    gcloud compute instances update VM_NAME \
      --remove-labels=goog-ops-agent-policy
    
  2. Deinstallieren Sie den Agent.

Ops-Agent auf allen VMs deinstallieren

Ops-Agent von VMs in Zone mit einer Ops-Agent-Betriebssystemrichtlinie deinstallieren -Zuweisung mithilfe des von Cloud Monitoring bereitgestellten Scripts. 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 Skript 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:

  1. Findet alle Ops-Agent-Betriebssystemrichtlinien.
  2. Bearbeiten jeder Richtlinie, sodass der Ops-Agent auf ihrer behandelte VMs ausführen.
  3. Löscht die Ops-Agent-Betriebssystemrichtlinie.
  4. Entfernt das Label goog-ops-agent-policy von jedem die abgedeckte VM.

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 die Abdeckung aber auch auf andere VMs ausdehnen die ohne die Ops-Agent OS-Richtlinie erstellt wurden die ihnen zugewiesen sind.

Wenn Sie die Richtlinienabdeckung auf eine VM ausweiten möchten, müssen Sie die Vorlagenversion Zuweisung von Ops-Agent-Betriebssystemrichtlinien in Ihrer Zone Wenn Ihre Zone mehrere Zuweisungen von Ops-Agent OS-Richtlinien und suchen Sie dann die Aufgabe 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"

Verwenden Sie entweder die Google Cloud Console, um die Richtlinienabdeckung auf andere VMs auszuweiten oder über die gcloud CLI:

Console

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf:

    Zu Seite VM-Instanzen

    Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Compute Engine lautet.

  2. Klicken Sie in der Liste VM-Instanzen die Kästchen neben den VMs an, und klicken Sie dann auf Labels.

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

  4. 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 zum Installieren 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'