Gestisci le VM coperte dal criterio del sistema operativo Ops Agent

Se hai creato VM di Compute Engine con Ops Agent installato durante o, in alcuni casi, se hai installato l'agente in un ambiente utilizzando la console Google Cloud, Google Cloud ha creato anche Criteri del sistema operativo di VM Manager che installano e monitorano Ops Agent. Questo documento descrive come eseguire query sui criteri del sistema operativo di Ops Agent e gestire Ops Agent sulle VM coperte dai criteri. Per informazioni sulla creazione di VM con Ops Agent installato automaticamente, consulta Installare Ops Agent durante la creazione della VM.

Dopo aver creato un criterio di sistema operativo di Ops Agent, puoi:

  • Determina quali VM sono coperte dal criterio.
  • Determina quali zone sono coperte dal criterio.
  • Estendi la copertura dei criteri alle VM esistenti.
  • Disinstalla l'agente da una VM coperta dal criterio.

Trova le VM coperte dai criteri del sistema operativo di Ops Agent

Puoi utilizzare la console Google Cloud o Google Cloud CLI per Quali VM nel tuo progetto Google Cloud sono coperte dai criteri del sistema operativo di Ops Agent tramite un'assegnazione di criteri del sistema operativo. Se ritieni che una VM non abbia copertura, può risolvere il problema svolgendo le seguenti operazioni:

Verifica che un criterio del sistema operativo Ops Agent sia assegnato alle VM in una zona

Per verificare che le VM in una zona siano coperte dal criterio del sistema operativo di Ops Agent, utilizza la console Google Cloud o gcloud CLI per visualizzare se la VM è correlata a un'assegnazione dei criteri del sistema operativo Ops Agent.

Console

  1. Nella console Google Cloud, vai alla pagina Criteri del sistema operativo:

    Vai a Criteri del sistema operativo

    Se usi la barra di ricerca per trovare questa pagina, seleziona il risultato la cui Compute Engine.

  2. Nella scheda Istanze VM, seleziona la VM che vuoi controllare.

  3. Se la VM è coperta da un sistema operativo Ops Agent la colonna ID criterio del sistema operativo include goog-ops-agent-policy e lo stato è "Conforme".

gcloud

Per visualizzare un elenco di assegnazioni dei criteri del sistema operativo di Ops Agent in una zona, esegui questo comando:

gcloud compute os-config os-policy-assignment-reports list --location=ZONE --filter="ASSIGNMENT_ID ~ goog-ops-agent"

L'output mostra un elenco di VM con un sistema operativo Ops Agent dell'assegnazione dei criteri. Se Ops Agent è installato sulla VM, la colonna Riepilogo ha un valore di "1/1 conforme ai criteri".

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

Verifica che una VM abbia un'etichetta dei criteri del sistema operativo Ops Agent

Per vedere quali VM nel tuo progetto Google Cloud hanno Etichetta del criterio di sistema operativo di Ops Agent, goog-ops-agent-policy, utilizza tramite la console Google Cloud o gcloud CLI.

Console

  1. Nella console Google Cloud, vai alla pagina Istanze VM:

    Vai a Istanze VM

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Compute Engine.

  2. Seleziona il nome della VM.

  3. Nel riquadro Informazioni di base, individua la voce Etichette.

    Se la VM è coperta dal criterio di sistema operativo Ops Agent, ha un come goog-ops-agent-policy:v2-x86-template-1-0-0.

gcloud

Per visualizzare tutte le VM con l'etichetta del criterio del sistema operativo di Ops Agent goog-ops-agent-policy, esegui questo comando:

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

L'output mostra il nome, la zona e le etichette delle VM. Ad esempio:

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

Per vedere se una VM specifica ha l'etichetta del criterio di sistema operativo Ops Agent, esegui questo comando:

gcloud compute instances describe --format "yaml(labels)" --zone=ZONE VM_NAME

L'output mostra un elenco di etichette per la tua VM. Se la tua VM ha l'etichetta del criterio di sistema operativo di Ops Agent, quindi goog-ops-agent-policy viene visualizzato nell'elenco labels. Ad esempio:

labels:
  goog-ops-agent-policy: v2-x86-template-1-0-0

Verifica che un'assegnazione dei criteri del sistema operativo di Ops Agent sia stata implementata correttamente

Visualizza le assegnazioni dei criteri del sistema operativo del progetto Google Cloud per verificare che il deployment di un'assegnazione dei criteri del sistema operativo di Ops Agent in una zona specifica è stato eseguito correttamente.

Console

  1. Nella console Google Cloud, vai alla pagina Criteri del sistema operativo:

    Vai a Criteri del sistema operativo

    Se usi la barra di ricerca per trovare questa pagina, seleziona il risultato la cui Compute Engine.

  2. Per visualizzare lo stato delle implementazioni dei criteri del sistema operativo, fai clic sulle assegnazioni dei criteri del sistema operativo. .

    Le assegnazioni dei criteri del sistema operativo di Ops Agent hanno ID che iniziano con la stringa "goog-ops-agent". Se l'assegnazione è stata implementata correttamente, lo stato di implementazione è "Operazione riuscita".

gcloud

Per visualizzare tutte le assegnazioni dei criteri del sistema operativo di Ops Agent in una zona, esegui questo comando:

gcloud compute os-config os-policy-assignments list --location=ZONE --filter="ASSIGNMENT_ID ~ goog-ops-agent"

L'output mostra un elenco di assegnazioni dei criteri del sistema operativo di Ops Agent in una zona. Se l'implementazione è riuscita, lo stato di implementazione è "SUCCEEDED". Ad esempio:

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

Per visualizzare i dettagli di un'assegnazione specifica dei criteri del sistema operativo di Ops Agent: esegui questo comando:

gcloud compute os-config os-policy-assignments describe POLICY_ASSIGNMENT_ID --location=ZONE

Disinstalla Ops Agent sulle VM coperte dal criterio del sistema operativo di Ops Agent

Se manualmente disinstallare Ops Agent su una VM coperta da Ops Agent criterio di sistema operativo, il criterio lo reinstalla. Per disinstallare Ops Agent, devi prima rimuovi l'etichetta goog-ops-agent-policy dalla VM. Dopo aver rimosso Etichetta del criterio del sistema operativo di Ops Agent da una VM, puoi disinstallare Ops Agent definitivamente.

Disinstalla Ops Agent su una VM specifica

Per rimuovere il criterio e disinstallare Ops Agent da una VM specifica, puoi utilizza la console Google Cloud o gcloud CLI.

Console

  1. Nella console Google Cloud, vai alla pagina Istanze VM:

    Vai a Istanze VM

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Compute Engine.

  2. Seleziona il nome della VM che vuoi modificare.

  3. Fai clic su Modifica.

  4. Vai alla sezione Etichette e fai clic su + Aggiungi etichette.

  5. Individua l'etichetta con la chiave goog-ops-agent-policy e fai clic Elimina elemento.

  6. Disinstalla l'agente.

gcloud

  1. Per rimuovere l'etichetta goog-ops-agent-policy da una VM: esegui questo comando:

    gcloud compute instances update VM_NAME \
      --remove-labels=goog-ops-agent-policy
    
  2. Disinstalla l'agente.

Disinstalla Ops Agent su tutte le VM

Per disinstallare Ops Agent dalle VM in una zona che include un criterio di sistema operativo Ops Agent. l'assegnazione, utilizza lo script fornito da Cloud Monitoring. Non puoi disinstallare l'agente da un gruppo di VM usando la console Google Cloud.

Per eseguire lo script, è necessario avere lo script Ruolo di Editor GuestPolicy (roles/osconfig.guestPolicyEditor).

Esegui lo script seguente in Cloud Shell. Puoi specificare qualsiasi numero delle zone:

curl -sSO https://dl.google.com/cloudagents/undo-ops-agent-policies.sh
bash undo-ops-agent-policies.sh ZONE1 ZONE2

Lo script esegue le seguenti attività in ciascuna zona:

  1. Trova tutti i criteri del sistema operativo di Ops Agent.
  2. Modifica ogni criterio in modo da disinstallare Ops Agent sul relativo di Compute Engine.
  3. Elimina il criterio del sistema operativo Ops Agent.
  4. Rimuove l'etichetta goog-ops-agent-policy da ogni con una VM coperta.

Aggiungi la copertura dei criteri del sistema operativo di Ops Agent a una VM esistente

Il criterio del sistema operativo di Ops Agent copre solo le VM che hanno l'etichetta goog-ops-agent-policy e si trovano nella stessa zona di un Assegnazione dei criteri del sistema operativo di Ops Agent. Tuttavia, puoi estendere la copertura ad altre VM create senza il criterio del sistema operativo di Ops Agent assegnate a loro.

Per estendere la copertura dei criteri a una VM, devi conoscere la versione modello di l'assegnazione dei criteri del sistema operativo di Ops Agent nella tua zona. Se la tua zona ha più Assegnazioni dei criteri del sistema operativo di Ops Agent, il compito con la versione più recente del modello. Per mostrare un elenco di assegnazioni dei criteri del sistema operativo di Ops Agent in un esegui questo comando:

gcloud compute os-config os-policy-assignments list --location=ZONE
  --filter="ASSIGNMENT_ID ~ goog-ops-agent"

Per estendere la copertura dei criteri ad altre VM, utilizza la console Google Cloud oppure gcloud CLI:

Console

  1. Nella console Google Cloud, vai alla pagina Istanze VM:

    Vai a Istanze VM

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Compute Engine.

  2. Nell'elenco Istanze VM, seleziona le caselle di controllo accanto alle VM che da etichettare, quindi fai clic su Etichette.

  3. Per aggiungere etichette, fai clic su + Aggiungi etichetta e aggiungi la coppia chiave-valore. La chiave deve essere goog-ops-agent-policy e il valore è il modello desiderato ad esempio 1-0-0.

  4. Salva le modifiche.

gcloud

Per estendere la copertura dei criteri a una VM senza copertura, esegui questi comandi:

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

Autorizzazione

L'installazione di Ops Agent utilizza VM Manager e richiede le autorizzazioni per attivare l'API VM Manager e creare un criterio. Il campo obbligatorio le autorizzazioni siano disponibili Ruolo di Editor (roles/Editor). Oppure puoi chiedi a un amministratore del progetto di concedere le autorizzazioni minime utilizzando Google Cloud CLI.

Autorizzazioni richieste per l'installazione di Ops Agent durante la creazione della VM:

  • serviceusage.services.get
  • serviceusage.services.enable
  • osconfig.osPolicyAssignments.get
  • osconfig.osPolicyAssignments.create
  • osconfig.projectBillingConfigs.update
  • compute.instances.create

Autorizzazioni richieste per installare Ops Agent su VM esistenti:

  • serviceusage.services.get
  • serviceusage.services.enable
  • osconfig.osPolicyAssignments.get
  • osconfig.osPolicyAssignments.create
  • osconfig.projectBillingConfigs.update
  • compute.instances.setMetadata
  • compute.instances.setLabels

Puoi trovare i ruoli corrispondenti che forniscono queste autorizzazioni in Riferimento per i ruoli IAM di base e predefiniti, con eccezione dell'autorizzazione osconfig.projectBillingConfigs.update. Questo è inclusa nel ruolo osconfig.projectBillingConfig. Questo ruolo è non disponibile nella console Google Cloud, ma può essere concesso tramite con gcloud CLI.

Comandi di esempio per concedere ruoli per le autorizzazioni:

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