Questo documento descrive come creare policy di estensione VM, che consentono di installare e gestire automaticamente le estensioni su un parco macchine virtuali (VM) Compute Engine. Definendo una policy, puoi assicurarti che estensioni specifiche vengano installate e gestite su tutte le VM che corrispondono ai criteri specificati, ad esempio le etichette VM.
Prima di iniziare
- Installa il componente beta
eseguendo il seguente comando:
gcloud components install beta
- Rivedi le nozioni di base su VM Extension Manager.
- Esamina le quote del gestore di estensioni VM.
- Abilita l'API Compute Engine nel tuo progetto Google Cloud se non è già abilitata.
- Assicurati che la VM esegua la versione dell'agente guest
20241209.01o successive. - Per visualizzare i log di debug degli eventi di VM Extension Manager, configura le impostazioni dei log per l'agente guest.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione verifica la tua identità per l'accesso ad API e servizi Google Cloud . Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:
gcloud initSe utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
- Set a default region and zone.
Ruoli IAM richiesti
Per ottenere l'autorizzazione necessaria per creare una policy di estensione, chiedi all'amministratore di concederti il ruolo IAM VM Extension Policy Admin (
roles/compute.vmExtensionPolicyAdmin). Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.Questo ruolo predefinito contiene l'autorizzazione
compute.vmExtensionPolicies.createnecessaria per creare una policy di estensione.Potresti anche ottenere questa autorizzazione con ruoli personalizzati o altri ruoli predefiniti.
Per ulteriori informazioni sui ruoli e le autorizzazioni IAM in Compute Engine, consulta Ruoli e autorizzazioni di Compute Engine.
Crea una policy di estensione VM
Per creare una policy di estensione VM, utilizza uno dei seguenti metodi. Questo criterio definisce quali estensioni installare e su quali VM.
Console
- Nella console Google Cloud , vai alla pagina Policy delle estensioni VM.
- Fai clic su Crea policy di estensione.
- Nel campo Nome, inserisci un nome per la policy.
- (Facoltativo) Nel campo Descrizione, inserisci una descrizione della policy.
- Nel campo Priority (Priorità), specifica un numero di priorità per risolvere i conflitti tra le policy. I numeri più bassi indicano una priorità più alta. Il valore predefinito è 1000.
- Nell'elenco Zona, seleziona la zona in cui vuoi applicare questa policy.
- Nella sezione Estensioni, fai clic su Aggiungi estensione e procedi nel seguente modo per ogni estensione che vuoi installare sulle VM di destinazione:
- Seleziona un'estensione dall'elenco Estensione. Vedi Estensioni supportate.
- Nell'elenco Versione, specifica il numero di versione dell'estensione. Lascia
vuoto per selezionare l'ultima versione.
- Per Ops Agent, puoi specificare la versione
2.58.0o successive. - Per Extension for SAP ed Extension for Compute, lascia vuoto il campo per selezionare l'ultima versione.
- Per Ops Agent, puoi specificare la versione
- (Facoltativo) Nel campo Contenuto del file di configurazione, inserisci i parametri di configurazione per l'estensione.
- Nella sezione Istanze VM di destinazione, seleziona le VM per la policy. Per selezionare le VM con etichette specifiche, fai clic su Aggiungi etichette e aggiungi la coppia chiave-valore.
- Fai clic su Crea.
gcloud
Per creare una policy di estensione VM e implementarla nelle VM in una zona specifica, utilizza il comando
gcloud beta compute zone-vm-extension-policies create:gcloud beta compute zone-vm-extension-policies create POLICY_NAME \ --zone=ZONE \ --description="DESCRIPTION" \ --extensions=EXTENSION_NAME_1,EXTENSION_NAME_2 \ --version=EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2 \ --config-from-file=EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2 \ --inclusion-labels=KEY_1=VALUE_1 \ --priority=PRIORITY
Sostituisci quanto segue:
POLICY_NAME: un nome per la policy di estensione VM.ZONE: la zona in cui si applica questa policy.DESCRIPTION: una descrizione facoltativa della policy.EXTENSION_NAME_1,EXTENSION_NAME_2: un elenco separato da virgole di estensioni da aggiungere al criterio. Devi specificare almeno un'estensione. I valori validi per le estensioni sono:ops-agentgoogle-cloud-sap-extensiongoogle-cloud-workload-extension
EXTENSION_NAME_1=VERSION_1,EXTENSION_NAME_2=VERSION_2: un elenco separato da virgole di coppie chiave-valore in cui la chiave è il nome dell'estensione e il valore è la versione dell'estensione. Se non specifichi una versione per un'estensione, VM Extension Manager utilizza l'ultima versione disponibile e la aggiorna automaticamente quando diventano disponibili nuove versioni.EXTENSION_NAME_1=CONFIG_FILE_PATH_1,EXTENSION_NAME_2=CONFIG_FILE_PATH_2: un elenco separato da virgole di coppie chiave-valore in cui la chiave è il nome dell'estensione e il valore è il percorso del file di configurazione per quell'estensione. Questo percorso si trova sulla VM in cui esegui il comandogcloud, non sulla VM in cui installi l'estensione.In alternativa, per fornire la configurazione come stringa incorporata, utilizza il flag
--configanziché--config-from-file, ad esempioEXTENSION_NAME_1="CONFIG_1". Puoi utilizzare--config-from-fileo--config, ma non entrambi nello stesso comando.KEY_1=VALUE_1: un elenco separato da virgole di coppie chiave-valore che definiscono le etichette di inclusione per un selettore. Le VM devono avere tutte le etichette specificate in un selettore per essere prese di mira. Se specifichi--inclusion-labelspiù volte, la policy ha come target le VM che corrispondono a uno qualsiasi dei selettori forniti (operatore logico OR). Se ometti questo flag, la policy ha come target tutte le VM nella zona specificata.PRIORITY: un numero intero compreso tra 0 e 65535 che definisce la priorità della policy. I numeri più bassi indicano una priorità più alta. Il valore predefinito è 1000.Il comando non va a buon fine se esiste già una norma con il nome specificato nella zona.
Esempio 1
Il seguente comando crea una policy denominata
test-extension-policyche installa l'estensioneops-agentnella zonaus-central1-fper il progettotest-project. Il flag--config-from-filespecifica il percorso di un file locale contenente una configurazione YAML per l'agente Ops.gcloud beta compute zone-vm-extension-policies create test-extension-policy \ --project=test-project \ --zone=us-central1-f \ --extensions=ops-agent \ --config-from-file=ops-agent="/usr/ops-agent-config.yaml"
Esempio 2
Il seguente comando crea una policy denominata
test-extension-policy-2che installa l'estensioneops-agentnella zonaus-central1-fper il progettotest-projectsulle VM con l'etichettaenv=prod. La priorità della policy è impostata su500e il flag--config-from-filespecifica il percorso di un file locale contenente una configurazione YAML per l'agente Ops.gcloud beta compute zone-vm-extension-policies create test-extension-policy-2 \ --project=test-project \ --zone=us-central1-f \ --extensions=ops-agent \ --config-from-file=ops-agent="/usr/ops-agent-config.yaml" \ --priority=500 \ --inclusion-labels=env=prod
Passaggi successivi
- Scopri come gestire le estensioni VM.
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-12-10 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-12-10 UTC."],[],[]] -