VMs verwalten, die von der Betriebssystemrichtlinie des Ops-Agenten abgedeckt werden

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. In diesem Dokument wird beschrieben, wie Sie diese Betriebssystemrichtlinien des Ops-Agents abfragen und den Ops-Agent auf VMs verwalten, 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.
  • 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 werden

Sie können in der Google Cloud Console oder mit dem Google Cloud CLI sehen, welche VMs in Ihrem Google Cloud Projekt durch Zuweisung von Betriebssystemrichtlinien für den Ops-Agenten abgedeckt sind. Wenn Sie der Meinung sind, dass eine VM nicht abgedeckt ist, können Sie das Problem so beheben:

Prüfen Sie, ob VMs in einer Zone eine Ops-Agent-Betriebssystemrichtlinie zugewiesen ist

Wenn Sie prüfen möchten, ob die VMs in einer Zone von der Ops-Agent-Betriebssystemrichtlinie abgedeckt sind, verwenden Sie die Google Cloud Console oder die gcloud CLI, um zu sehen, ob die VM mit einer Zuweisung einer Ops-Agent-Betriebssystemrichtlinie verknüpft ist.

Console

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

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

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

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 Zuweisung einer Ops-Agent-Betriebssystemrichtlinie. Wenn der Ops-Agent auf der VM installiert ist, hat 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 Betriebssystemrichtlinienlabel für den Ops-Agenten goog-ops-agent-policy haben, verwenden Sie entweder 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 nach dem Eintrag Labels.

    Wenn die VM von der Betriebssystemrichtlinie des Ops-Agents abgedeckt wird, 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 Ops-Agent-Betriebssystemrichtlinien-Label goog-ops-agent-policy aufzurufen:

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'}

Führen Sie den folgenden Befehl aus, um zu prüfen, ob eine bestimmte VM das Ops-Agent-Betriebssystemrichtlinien-Label 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 Ops-Agent-Betriebssystemrichtlinien-Label 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 Ops-Agent-Betriebssystemrichtlinien korrekt in einer bestimmten Zone bereitgestellt wurde.

Console

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

  2. Klicken Sie auf den Tab Zuweisungen von Betriebssystemrichtlinien, um den Status von Rollouts von Betriebssystemrichtlinien aufzurufen.

    Ops-Agent-Betriebssystemrichtlinienzuweisungen haben IDs, die mit dem String „goog-ops-agent“ beginnen. Wenn die Zuweisung erfolgreich eingeführt wurde, hat sie den Rollout-Status "Erfolgreich".

gcloud

Führen Sie den folgenden Befehl aus, um alle Ops-Agent-Betriebssystemrichtlinien 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 Ops-Agent-Betriebssystemrichtlinien 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 Zuweisung einer Ops-Agent-Betriebssystemrichtlinie 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-Agenten abgedeckt werden

Wenn Sie den Ops-Agent manuell deinstallieren auf einer VM, die von der Ops-Agent-Betriebssystemrichtlinie abgedeckt wird, wird er durch die Richtlinie neu installiert. Wenn Sie den Ops-Agent deinstallieren möchten, müssen Sie zuerst das Label goog-ops-agent-policy von der VM entfernen. Nachdem Sie das Ops-Agent-Betriebssystemrichtlinien-Label 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-Agent von einer bestimmten VM deinstallieren möchten, können Sie 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. Rufen Sie den Bereich Labels auf und klicken Sie auf + Labels hinzufügen.

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

  6. Agent deinstallieren.

gcloud

  1. Führen Sie den folgenden Befehl aus, um das Label goog-ops-agent-policy von einer VM zu entfernen:

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

Ops-Agent auf allen VMs deinstallieren

Wenn Sie den Ops-Agent von VMs in einer Zone deinstallieren möchten, die eine Zuweisung für eine Ops-Agent-Betriebssystemrichtlinie hat, verwenden Sie das von Cloud Monitoring bereitgestellte Script. Sie können den Agent nicht über die Google Cloud Console von einer Gruppe von VMs deinstallieren.

Zum Ausführen des Skripts benötigen Sie die Rolle „GuestPolicy-Bearbeiter“ (roles/osconfig.guestPolicyEditor).

Führen Sie das folgende Skript in Cloud Shell 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 Skript führt in jeder Zone die folgenden Aufgaben aus:

  1. Hiermit werden alle Ops-Agent-Betriebssystemrichtlinien zurückgegeben.
  2. Bearbeitet jede Richtlinie so, dass der Ops-Agent auf den zugehörigen VMs deinstalliert wird.
  3. Löscht die Betriebssystemrichtlinie für den Ops-Agent.
  4. Entfernt das Label goog-ops-agent-policy aus jeder abgedeckten VM.

Einer vorhandenen VM die Ops-Agent-Betriebssystemrichtlinie hinzufügen

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 von Ops-Agent-Betriebssystemrichtlinien befinden. Sie können die Abdeckung jedoch auf andere VMs ausweiten, die ohne die zugewiesene 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 Ihrer Zone mehrere Zuweisungen von Ops-Agent-Betriebssystemrichtlinien zugewiesen sind, suchen Sie nach der 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

  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 in der Liste VM-Instanzen die Kästchen neben den VMs aus, die Sie labeln möchten, 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 den Richtlinienbereich 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.projectFeatureSettings.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.projectFeatureSettings.update
  • compute.instances.setMetadata
  • compute.instances.setLabels

Entsprechende Rollen, die diese Berechtigungen bieten, finden Sie in der Referenz für einfache und vordefinierte IAM-Rollen.

Beispielbefehle zum Zuweisen von Rollen für Berechtigungen:

gcloud projects add-iam-policy-binding project-id --member='user:user-email' --role='roles/osconfig.projectFeatureSettingsEditor'