Puoi modificare il modo in cui una policy gestisce Ops Agent aggiornando la policy. Quando aggiorni una policy, il gestore di estensioni VM implementa le modifiche a tutte le VM applicabili, in genere entro un minuto. A seconda di come viene modificata una policy, Ops Agent potrebbe essere installato su nuove VM o disinstallato da VM esistenti.
Prima di iniziare
Prima di iniziare a utilizzare le policy di estensione del gestore di estensioni VM, segui questi passaggi:
Concedi i ruoli necessari per gestire le policy di gestore di estensioni VM.
Se vuoi utilizzare un'interfaccia a riga di comando per creare e gestire le policy di estensione e non hai ancora installato Google Cloud CLI, installa gcloud.
Puoi creare e gestire le policy di estensione delle VM di zona utilizzando la consoleGoogle Cloud o Google Cloud CLI, gcloud. Puoi creare e gestire le policy di estensione delle VM globali utilizzando gcloud.
Concedi i ruoli necessari per gestire le policy di gestore di estensioni VM
Per ottenere le autorizzazioni necessarie per visualizzare, modificare ed eliminare le policy di estensione delle VM, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:
-
Per visualizzare le policy di estensione:
- VM Extension Policy Viewer (
roles/compute.vmExtensionPolicyViewer) - VM Extension Policy Admin (
roles/compute.vmExtensionPolicyAdmin)
- VM Extension Policy Viewer (
-
Per modificare le policy di estensione:
VM Extension Policy Admin (
roles/compute.vmExtensionPolicyAdmin) -
Per eliminare le policy di estensione: VM Extension Policy Admin (
roles/compute.vmExtensionPolicyAdmin)
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per visualizzare, modificare ed eliminare le policy delle estensioni VM. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per visualizzare, modificare ed eliminare le policy di estensione VM sono necessarie le seguenti autorizzazioni:
-
Per visualizzare le policy di estensione:
compute.vmExtensionPolicies.list -
Per visualizzare i dettagli di una policy di estensione:
compute.vmExtensionPolicies.get -
Per modificare le policy di estensione:
compute.vmExtensionPolicies.update -
Per eliminare le policy di estensione:
compute.vmExtensionPolicies.delete
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Per saperne di più sui ruoli e sulle autorizzazioni IAM in Compute Engine, consulta Ruoli e autorizzazioni di Compute Engine.
Modifica le policy delle estensioni che gestiscono Ops Agent
Per modificare il modo in cui una policy gestisce Ops Agent, aggiorna la policy. Quando aggiorni una policy, il gestore di estensioni VM implementa le modifiche a tutte le VM applicabili, in genere entro un minuto. Se modifichi le etichette di inclusione, Ops Agent potrebbe essere installato su nuove VM o disinstallato da VM esistenti, a seconda che le VM corrispondano o meno alle etichette aggiornate.
Le sezioni seguenti mostrano come modificare una policy per:
- Aggiorna la versione bloccata dell'agente su tutte le VM
- Modifica la configurazione di Ops Agent su tutte le VM
Aggiorna la versione bloccata di Ops Agent su tutte le VM di una zona
Per modificare la versione bloccata di Ops Agent su tutte le VM di una zona, procedi nel seguente modo:
Console
Per creare una policy a livello di zona, puoi utilizzare la console Google Cloud .
-
Nella console Google Cloud , vai alla pagina Policy delle estensioni:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Compute Engine.
- Seleziona la policy che vuoi aggiornare.
- Fai clic su Modifica.
- Nella sezione Gestisci estensioni, segui questi passaggi:
- Dall'elenco Estensione, seleziona
Google Cloud's Extension for Ops Agent. - Modifica il campo Versione. Utilizza la versione 2.58.0 o successive.
- Fai clic su Fine.
- Dall'elenco Estensione, seleziona
- Fai clic su Salva.
gcloud
Per creare una policy a livello di zona o globale, puoi utilizzare gcloud CLI.
A livello di zona
Utilizza il comando gcloud compute zone-vm-extension-policies update con l'opzione --version per modificare la versione dell'agente bloccata.
Quando aggiorni una policy utilizzando gcloud, la richiesta agisce come una sostituzione completa. Tutti i campi facoltativi che ometti dalla richiesta vengono quindi ripristinati ai valori predefiniti anziché mantenere i valori esistenti della policy modificata.
Per modificare la versione di Ops Agent installata su tutte le VM di una zona in base a una policy, utilizza il seguente comando:
gcloud compute zone-vm-extension-policies update POLICY_NAME \
--project=PROJECT_ID \
--zone=ZONE \
--extensions=ops-agent
--version=ops-agent=VERSION
Sostituisci le seguenti variabili nel comando:
- POLICY_NAME: un nome per la policy di estensione della VM.
- PROJECT_ID: l'identificatore del progetto.
- ZONE: la zona di destinazione, ad esempio
us-central1-f. - VERSION: la versione di Ops Agent da installare.
Utilizza la versione 2.58.0 o successive.
Per un elenco delle versioni, consulta la pagina delle release di Ops Agent su GitHub.
Se ometti l'opzione
--version, la policy installa l'ultima versione e aggiorna Ops Agent quando viene rilasciata una nuova versione, come mostrato nell'esempio che installa l'ultima versione.
Globale
Utilizza il comando gcloud compute global-vm-extension-policies update con l'opzione --version per modificare la versione dell'agente bloccata.
Quando aggiorni una policy utilizzando gcloud, la richiesta agisce come una sostituzione completa. Tutti i campi facoltativi che ometti dalla richiesta vengono quindi ripristinati ai valori predefiniti anziché mantenere i valori esistenti della policy modificata.
Per modificare la versione di Ops Agent installata su tutte le VM tramite una policy globale, utilizza il seguente comando:
gcloud compute global-vm-extension-policies update POLICY_NAME \
--project=PROJECT_ID \
--extensions=ops-agent \
--rollout-predefined-plan=slow_rollout \
--version=ops-agent=VERSION
Sostituisci le seguenti variabili nel comando:
- POLICY_NAME: un nome per la policy di estensione della VM.
- PROJECT_ID: l'identificatore del progetto.
- VERSION: la versione di Ops Agent da installare.
Utilizza la versione 2.58.0 o successive.
Per un elenco delle versioni, consulta la pagina delle release di Ops Agent su GitHub.
Se ometti l'opzione
--version, la policy installa l'ultima versione e aggiorna Ops Agent quando viene rilasciata una nuova versione, come mostrato nell'esempio che installa l'ultima versione.
Modifica la configurazione di Ops Agent su tutte le VM
Per modificare la configurazione di Ops Agent, segui questi passaggi:
Console
Per creare una policy a livello di zona, puoi utilizzare la console Google Cloud .
-
Nella console Google Cloud , vai alla pagina Policy delle estensioni:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Compute Engine.
- Seleziona la policy che vuoi aggiornare.
- Fai clic su Modifica.
- Nella sezione Gestisci estensioni, segui questi passaggi:
- Dall'elenco Estensione, seleziona
Google Cloud's Extension for Ops Agent. - Nel campo Contenuto del file di configurazione, inserisci la stringa di configurazione YAML per Ops Agent.
- Fai clic su Fine.
- Dall'elenco Estensione, seleziona
- Fai clic su Salva.
gcloud
Per creare una policy a livello di zona o globale, puoi utilizzare gcloud CLI.
A livello di zona
Utilizza il comando gcloud compute zone-vm-extension-policies update con l'opzione --config-from-file o l'opzione --config per specificare una nuova configurazione.
Quando aggiorni una policy utilizzando gcloud, la richiesta agisce come una sostituzione completa. Tutti i campi facoltativi che ometti dalla richiesta vengono quindi ripristinati ai valori predefiniti anziché mantenere i valori esistenti della policy modificata.
Per modificare la configurazione di Ops Agent installato su tutte le VM di una zona tramite una policy, utilizza il seguente comando:
gcloud compute zone-vm-extension-policies update POLICY_NAME \
--project=PROJECT_ID \
--zone=ZONE \
--extensions=ops-agent
--config-from-file=ops-agent="OPS_AGENT_CONFIG_PATH"
Sostituisci le seguenti variabili nel comando:
- POLICY_NAME: un nome per la policy di estensione della VM.
- PROJECT_ID: l'identificatore del progetto.
- ZONE: la zona di destinazione, ad esempio
us-central1-f. - OPS_AGENT_CONFIG_PATH: Il percorso di un file contenente la stringa di configurazione YAML per l'Ops Agent. Questo file deve esistere nell'ambiente in cui esegui il comando gcloud.
Il file YAML di configurazione di Ops Agent può essere lungo. Inserire la configurazione in un file e passarlo a gcloud CLI è molto meno soggetto a errori rispetto al tentativo di inserire YAML formattato correttamente nella riga di comando.
Globale
Utilizza il comando gcloud compute global-vm-extension-policies update con l'opzione --config-from-file o l'opzione --config per specificare una nuova configurazione.
Quando aggiorni una policy utilizzando gcloud, la richiesta agisce come una sostituzione completa. Tutti i campi facoltativi che ometti dalla richiesta vengono quindi ripristinati ai valori predefiniti anziché mantenere i valori esistenti della policy modificata.
Per modificare la configurazione di Ops Agent installato su tutte le VM da una policy, utilizza il seguente comando:
gcloud compute global-vm-extension-policies update POLICY_NAME \
--project=PROJECT_ID \
--extensions=ops-agent \
--rollout-predefined-plan=slow_rollout \
--config-from-file=ops-agent="OPS_AGENT_CONFIG_PATH"
Sostituisci le seguenti variabili nel comando:
- POLICY_NAME: un nome per la policy di estensione della VM.
- PROJECT_ID: l'identificatore del progetto.
- OPS_AGENT_CONFIG_PATH: Il percorso di un file contenente la stringa di configurazione YAML per l'Ops Agent. Questo file deve esistere nell'ambiente in cui esegui il comando gcloud.
Il file YAML di configurazione di Ops Agent può essere lungo. Inserire la configurazione in un file e passarlo a gcloud CLI è molto meno soggetto a errori rispetto al tentativo di inserire YAML formattato correttamente nella riga di comando.
Se fornisci una configurazione personalizzata per Ops Agent durante la creazione o l'aggiornamento di una policy di estensione, la policy esegue il deployment di Ops Agent con la configurazione personalizzata. Non è necessario riavviare manualmente l'agente.
La configurazione viene archiviata con la policy dell'estensione, quindi non includere dati sensibili come le password nella configurazione. Poiché la configurazione viene archiviata con la policy delle estensioni, la modifica del file di configurazione non modifica la configurazione dell'agente. Devi aggiornare la configurazione archiviata con la policy utilizzando il comando gcloud appropriato:
- Per le policy di zona, utilizza il comando
gcloud compute zone-vm-extension-policiesupdate. - Per le policy globali, utilizza il comando
gcloud compute global-vm-extension-policiesupdate.
Quando fornisci una configurazione personalizzata per Ops Agent, il gestore di estensioni VM copia la configurazione nella posizione utilizzata da Ops Agent per i file di configurazione specificati dall'utente sulla VM di destinazione:
- Linux:
/etc/google-cloud-ops-agent/config.yaml - Windows:
C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml
Se nella VM è presente un file config.yaml, la policy di estensione lo sovrascrive.
Per informazioni generali sull'utilizzo della consoleGoogle Cloud e di gcloud CLI per gestire le policy delle estensioni VM, consulta Modifica le estensioni aggiornando una policy delle estensioni VM.
Estendi una policy globale esistente per includere nuove zone (solo globale)
Quando le VM vengono create in nuove zone dopo la creazione e l'implementazione di una policy globale, il gestore di estensioni VM non applica automaticamente la policy alle VM nelle nuove zone. Per includere le VM in nuove zone, devi riavviare l'implementazione della policy globale.
Per riavviare l'implementazione di una policy globale, utilizza il comando
gcloud compute global-vm-extension-policies update
e specifica l'opzione --rollout-retry-uuid=UUID.
Ad esempio, supponiamo che tu abbia creato e implementato una policy globale utilizzando il seguente comando:
gcloud compute global-vm-extension-policies create POLICY_NAME \
--project=PROJECT_ID \
--extensions=ops-agent \
--version=ops-agent=2.61.0 \
--rollout-predefined-plan=slow_rollout \
--config-from-file=ops-agent="/usr/ops-agent-config.yaml"
Per estendere la policy alle VM create in zone precedentemente inutilizzate, riavvia l'implementazione utilizzando il seguente comando:
gcloud compute global-vm-extension-policies update test-policy POLICY_NAME \
--project=PROJECT_ID \
--extensions=ops-agent \
--version=ops-agent=2.61.0 \
--rollout-predefined-plan=slow_rollout \
--config-from-file=ops-agent="/usr/ops-agent-config.yaml" \
--rollout-retry-uuid=UUID
Sostituisci le seguenti variabili nel comando:
- POLICY_NAME: un nome per la policy di estensione della VM.
- PROJECT_ID: l'identificatore del progetto.
- UUID: un identificatore univoco universale (UUID) che identifica la richiesta di nuovo tentativo. Puoi utilizzare qualsiasi generatore di UUID per crearne uno. Per saperne di più, consulta Riprova un'implementazione .
Aggiorna una policy globale per escludere un insieme di zone (solo a livello globale)
Per aggiornare le zone in cui una policy globale esclude alcune zone in un progettoGoogle Cloud , devi utilizzare un nuovo piano di implementazione personalizzato che specifichi le zone in cui applicare la policy. Per informazioni sulla creazione di piani di rilascio personalizzati, consulta
Informazioni sui piani di rilascio. Per specificare un insieme di zone, utilizza il campo locationSelector.includedLocations durante la creazione del piano di rilascio.
Per aggiornare una policy delle estensioni che utilizza un piano di rilascio personalizzato, utilizza il seguente comando gcloud compute global-vm-extension-policies update:
gcloud compute global-vm-extension-policies update POLICY_NAME \
--project=PROJECT_ID \
--extensions=ops-agent \
--rollout-custom-plan=projects/PROJECT_ID/locations/global/rolloutPlans/NEW_CUSTOM_PLAN_NAME \
--rollout-retry-uuid=UUID
Sostituisci le seguenti variabili nel comando:
- POLICY_NAME: un nome per la policy di estensione della VM.
- PROJECT_ID: l'identificatore del progetto.
- NEW_CUSTOM_PLAN_NAME: il nome associato al piano di rilascio personalizzato aggiornato.
- UUID: un identificatore univoco universale (UUID) che identifica la richiesta di nuovo tentativo. Puoi utilizzare qualsiasi generatore di UUID per crearne uno. Per saperne di più, consulta Riprova un'implementazione .
Disinstalla Ops Agent eliminando le policy di estensione VM
Per disinstallare Ops Agent, elimina la policy di estensione VM che gestisce l'agente. Se un'altra policy attiva con priorità inferiore si applica a una VM e gestisce anche Ops Agent, l'agente rimane installato su quella VM in base alla policy con priorità inferiore.
Il gestore di estensioni VM rimuove Ops Agent da tutte le VM accessibili entro un minuto dall'eliminazione della policy. Se una VM non è accessibile, gestore di estensioni VM ignora l'eliminazione dell'agente. Se la VM diventa nuovamente disponibile, gestore di estensioni VM rimuove l'agente in quel momento.
Console
-
Nella console Google Cloud , vai alla pagina Policy delle estensioni:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Compute Engine.
- Seleziona la policy che vuoi eliminare.
- Fai clic su Elimina.
- Nella finestra di dialogo di conferma, fai clic su Elimina.
gcloud
A livello di zona
Per eliminare la policy di estensione VM che gestisce Ops Agent, utilizza il comando gcloud compute zone-vm-extension-policies delete:
gcloud compute zone-vm-extension-policies delete POLICY_NAME \
--project=PROJECT_ID \
--zone=ZONE
Sostituisci le seguenti variabili nel comando:
- POLICY_NAME: un nome per la policy di estensione della VM.
- PROJECT_ID: l'identificatore del progetto.
- ZONE: la zona di destinazione, ad esempio
us-central1-f.
Globale
Per eliminare la policy di estensione VM globale che gestisce Ops Agent, utilizza il comando gcloud compute global-vm-extension-policies delete:
gcloud compute global-vm-extension-policies delete POLICY_NAME \
--project=PROJECT_ID \
--rollout-predefined-plan=slow_rollout
Sostituisci le seguenti variabili nel comando:
- POLICY_NAME: un nome per la policy di estensione della VM.
- PROJECT_ID: l'identificatore del progetto.
Per accelerare un'implementazione dell'eliminazione già avviata, invia un nuovo comando di eliminazione che utilizza il piano fast_rollout. Devi anche specificare l'opzione --rollout-retry-uuid=UUID:
gcloud compute global-vm-extension-policies delete POLICY_NAME \
--project=PROJECT_ID \
--rollout-predefined-plan=fast_rollout \
--rollout-retry-uuid=UUID
Sostituisci le seguenti variabili nel comando:
- POLICY_NAME: un nome per la policy di estensione della VM.
- PROJECT_ID: l'identificatore del progetto.
- UUID: un identificatore univoco universale (UUID) che identifica la richiesta di nuovo tentativo. Puoi utilizzare qualsiasi generatore di UUID per crearne uno. Per saperne di più, consulta Riprova un'implementazione .
Recupera informazioni sulle policy di estensione VM
Puoi recuperare le seguenti informazioni sulle policy di estensione VM esistenti:
- Un elenco di tutte le policy nel tuo progetto Google Cloud .
- Informazioni di configurazione su una policy specifica.
Console
-
Nella console Google Cloud , vai alla pagina Policy delle estensioni:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Compute Engine.
Questa pagina elenca tutte le policy di estensione VM nel progetto. - Per visualizzare i dettagli di una policy di estensione specifica, fai clic sul nome della policy.
gcloud
A livello di zona
Elenca le policy di estensione VM
Per elencare le informazioni su tutte le policy di estensione delle VM in una zona, utilizza il comando
gcloud compute zone-vm-extension-policies list:
gcloud compute zone-vm-extension-policies list \
--project=PROJECT_ID \
--zone=ZONE \
--page-size=PAGE_SIZE_INTEGER
Sostituisci le seguenti variabili nel comando:
- PROJECT_ID: l'identificatore del progetto.
- ZONE: la zona di destinazione, ad esempio
us-central1-f. - PAGE_SIZE_INTEGER: il numero di policy da elencare per pagina, ad esempio
2. Per saperne di più sulle opzioni di ordinamento e filtro, consultagcloud compute zone-vm-extension-policieslist.
Descrivi una policy di estensione VM denominata
Per recuperare la configurazione di una policy denominata in una zona, utilizza il comando gcloud compute zone-vm-extension-policies describe:
gcloud compute zone-vm-extension-policies describe POLICY_NAME \
--project=PROJECT_ID \
--zone=ZONE
Sostituisci le seguenti variabili nel comando:
- POLICY_NAME: un nome per la policy di estensione della VM.
- PROJECT_ID: l'identificatore del progetto.
- ZONE: la zona di destinazione, ad esempio
us-central1-f.
Globale
Elenca le policy di estensione VM globali
Per elencare le informazioni sulle policy di estensione delle VM globali, utilizza il comando gcloud compute global-vm-extension-policies list:
gcloud compute global-vm-extension-policies list \
--project=PROJECT_ID \
--page-size=PAGE_SIZE_INTEGER
Sostituisci le seguenti variabili nel comando:
- PROJECT_ID: l'identificatore del progetto.
- PAGE_SIZE_INTEGER: il numero di policy da elencare per pagina, ad esempio
2. Per saperne di più sulle opzioni di ordinamento e filtro, consultagcloud compute global-vm-extension-policieslist.
Descrivi una policy di estensione VM globale denominata
Per recuperare la configurazione di una policy denominata in una zona, utilizza il comando gcloud compute global-vm-extension-policies describe:
gcloud compute global-vm-extension-policies describe POLICY_NAME \
--project=PROJECT_ID
Sostituisci le seguenti variabili nel comando:
- POLICY_NAME: un nome per la policy di estensione della VM.
- PROJECT_ID: l'identificatore del progetto.
Per informazioni generali sull'utilizzo della consoleGoogle Cloud e di gcloud CLI per recuperare informazioni sulle policy delle estensioni VM, consulta Visualizza le policy delle estensioni.
Riavvia un Ops Agent installato da una policy di estensione
Quando Ops Agent viene installato e gestito dal gestore di estensioni VM, non viene gestito dal servizio di gestione del sistema operativo, ovvero systemd su Linux o Gestione servizi di Windows su Windows. Pertanto, i comandi Linux systemctl
e i comandi Windows *-Service non funzionano con un Ops Agent
installato da una policy delle estensioni.
Per riavviare un Ops Agent installato da una policy di estensione, esegui una delle seguenti operazioni:
Ricrea la policy.
Utilizza una policy temporanea con priorità più elevata. Se la policy originale interessa un numero elevato di VM, ma vuoi riavviare Ops Agent solo su un numero ridotto, aggiungi un'etichetta alle VM e configura la nuova policy per filtrare in base all'etichetta.
Ad esempio, se una policy con priorità 1000 non è riuscita ad avviare Ops Agent su una VM, puoi aggiungere alla VM un'etichetta come
status=failed. Poi crea una nuova policy con una priorità più alta, ad esempio 500. Ad esempio, un comando Google Cloud CLI potrebbe essere simile al seguente:A livello di zona
gcloud compute zone-vm-extension-policiescreatePOLICY_NAME \ --project=PROJECT_ID \ --zone=ZONE \ --extensions=ops-agent \ --inclusion-labels=status=failed \ --priority=500 \ --config-from-file=ops-agent=/usr/ops-agent-config.yamlSostituisci le seguenti variabili nel comando:
- POLICY_NAME: un nome per la policy di estensione della VM.
- PROJECT_ID: l'identificatore del progetto.
- ZONE: la zona di destinazione, ad esempio
us-central1-f.
Globale
gcloud compute global-vm-extension-policiescreatePOLICY_NAME \ --project=PROJECT_ID \ --extensions=ops-agent \ --inclusion-labels=status=failed \ --priority=500 \ --config-from-file=ops-agent=/usr/ops-agent-config.yaml \ --rollout-predefined-plan=fast_rolloutSostituisci le seguenti variabili nel comando:
- POLICY_NAME: un nome per la policy di estensione della VM.
- PROJECT_ID: l'identificatore del progetto.
Dopo che la nuova policy ha installato correttamente Ops Agent, eliminala e rimuovi l'etichetta dalle VM. Ops Agent rimane installato sulla VM perché la policy originale è ancora attiva.
Attiva il log di debug dell'agente guest sulla VM
Le policy di gestore di estensioni VM utilizzano l'agente guest di Compute Engine per gestire Ops Agent come estensione VM. Per informazioni sull'attivazione del log di debug per l'agente guest, consulta Visualizza i log di debug per l'agente guest.
Passaggi successivi
- Risolvi i problemi relativi alle policy di estensione.
- Visualizza informazioni dettagliate sulla configurazione di Ops Agent.
- Scopri di più sul gestore di estensioni VM.