Le policy dell'agente consentono l'installazione e la manutenzione automatizzate di Ops Agent su un parco risorse di VM Compute Engine che corrispondono ai criteri specificati dall'utente. Puoi creare una policy per un Google Cloud progetto che gestisce le VM esistenti e nuove associate a quel Google Cloud progetto, garantendo la corretta installazione e disinstallazione di Ops Agent su queste VM.
Policy dell'agente per Ops Agent
Il supporto per le policy dell'agente per Ops Agent è disponibile a due livelli di release: GA e beta. Entrambi i tipi di policy si basano sulle funzionalità di OS Config fornite da VM Manager, ma le implementazioni sono diverse. Ti consigliamo di utilizzare le policy GA, se possibile. Nella maggior parte dei casi, puoi convertire le policy beta in policy GA.
Questa sezione descrive le differenze tra le policy dell'agente beta e GA. Per informazioni sulla creazione e la gestione delle policy dell'agente, consulta le seguenti pagine:
Differenze tra le policy dell'agente beta e GA
Le policy dell'agente beta e GA differiscono nei seguenti modi:
Meccanismi di creazione
- Le policy dell'agente beta vengono create utilizzando:
- Il gruppo di comandi
gcloud beta compute instances ops-agents policiesin Google Cloud SDK. - Il modulo
agent-policyTerraform
- Il gruppo di comandi
- Le policy dell'agente GA vengono create utilizzando:
- Il gruppo di comandi
gcloud compute instances ops-agents policiesin Google Cloud SDK. - Il
ops-agent-policymodulo Terraform
- Il gruppo di comandi
- Le policy dell'agente beta vengono create utilizzando:
Supporto per l'agente Monitoring legacy e l'agente Logging
- Le policy dell'agente beta possono gestire l'agente Monitoring legacy e l'agente Logging, nonché Ops Agent.
- Le policy dell'agente GA gestiscono solo Ops Agent.
Upgrade automatico della versione dell'agente
- Le policy dell'agente beta possono mantenere l'agente all'ultima versione eseguendo l'upgrade dell'agente.
- Le policy dell'agente GA non supportano un'operazione di upgrade automatico. Per approcci alternativi, vedi Sostituire le policy di upgrade dell'agente beta.
Applicazione della policy alle istanze di Compute Engine denominate
- Le policy dell'agente beta possono essere applicate a un elenco di istanze denominate.
- Le policy dell'agente GA non forniscono supporto per le istanze denominate. Per informazioni su come ottenere lo stesso comportamento con le policy GA, vedi Convertire una policy beta per istanze denominate in una policy GA policy.
Applicazione globale o di zona delle policy dell'agente all'interno di un Google Cloud progetto
- Le policy dell'agente beta vengono applicate a livello globale a tutte le istanze selezionate dai criteri della policy all'interno del tuo Google Cloud progetto.
- Le policy dell'agente GA vengono applicate a tutte le istanze selezionate dai criteri della policy all'interno della zona specificata dalla policy. Ad esempio, una policy creata nella zona
us-central1-anon ha alcun effetto sulle VM in altre zone.
Le policy beta e GA sono anche strutturalmente diverse:
Le policy create utilizzando
gcloud beta compute instances ops-agents policiesdescrivono le policy dell'agente passando le singole opzioni ai comandi, ad esempio:gcloud beta compute instances ops-agents policiescreate ops-agents-test-policy \ --agent-rules="type=logging,enable-autoupgrade=false;type=metrics,enable-autoupgrade=false" \ --description="A test policy." \ --os-types=short-name=centos,version=7 \ --instances=zones/us-central1-a/instances/test-instance \ --project PROJECT_IDIl modulo Terraform agent-policy fornisce le stesse funzionalità.
Le policy create utilizzando
gcloud compute instances ops-agents policiesdescrivono la policy dell'agente utilizzando un file di configurazione YAML e una zona, ad esempio:gcloud compute instances ops-agents policiescreate test-policy \ --zone us-central1-a \ --file test-policy.yaml \ --project PROJECT_IDIl modulo Terraform ops-agent-policy fornisce le stesse funzionalità.
Utilizzo delle policy beta e GA
Puoi utilizzare sia le policy dell'agente beta sia quelle GA con Ops Agent, a condizione che tu tenga conto delle differenze tra i tipi di policy.
La differenza comportamentale più grande tra le policy dell'agente beta e GA è che le policy GA sono zonali, mentre le policy dell'agente beta sono globali all'interno di un progetto. Ciò significa che le policy dell'agente GA selezionano solo le VM nella zona in cui viene creata la policy, mentre le policy beta possono selezionare qualsiasi VM nel tuo Google Cloud progetto.
Se le policy beta selezionano un insieme di VM e le policy GA selezionano un insieme diverso di VM, le policy non possono entrare in conflitto.
Puoi avere policy dell'agente beta e GA che si applicano alla stessa VM, ma devi assicurarti che le policy non abbiano scopi in conflitto, ad esempio una policy beta che installa Ops Agent e una policy GA che disinstalla Ops Agent.
Convertire le policy beta in policy GA
Puoi convertire le policy dell'agente beta di Ops Agent in policy dell'agente GA, a condizione che non ci siano differenze tra i tipi di policy che non puoi aggirare. Non puoi convertire le policy dell'agente beta per l'agente Monitoring legacy o l'agente Logging in policy dell'agente GA.
Per convertire le policy dell'agente beta in policy GA utilizzando Google Cloud SDK:
Genera un elenco di tutte le policy dell'agente beta nel tuo progetto eseguendo il seguente comando:
gcloud beta compute instances ops-agents policieslist --project PROJECT_IDIdentifica le policy dell'agente beta che vuoi convertire in policy GA.
Per ogni policy beta che identifichi per la conversione:
Crea un file di configurazione YAML il più simile possibile alla policy beta tenendo conto delle differenze tra le policy beta e GA. Per informazioni sul formato di configurazione YAML, vedi Descrivere le policy dell'agente.
Crea una policy dell'agente GA in ogni zona in cui ti serve la policy. Per informazioni sulla creazione di policy dell'agente GA, vedi Creare una policy dell'agente.
Elimina la policy dell'agente beta eseguendo il seguente comando:
gcloud beta compute instances ops-agents policiesdelete POLICY_ID --project PROJECT_ID
Potresti non essere in grado di scrivere una policy dell'agente GA per Ops Agent che sia esattamente uguale a una policy dell'agente beta esistente. Tuttavia, ad eccezione dell'opzione di upgrade automatico della policy dell'agente beta, puoi ottenere un comportamento equivalente.
Nelle sezioni seguenti viene descritto come gestire i seguenti casi:
Convertire una policy beta per istanze denominate in una policy GA
Per convertire una policy dell'agente beta applicata a un insieme denominato di istanze VM, puoi:
Applica un'etichetta alle istanze nell'insieme di VM che vuoi selezionare. Per applicare un'etichetta a una VM esistente, utilizza il
gcloud compute instances add-labelscomando, come mostrato nel seguente comando:gcloud compute instances add-labels INSTANCE_NAME --labels=KEY=VALUEDescrivi una policy dell'agente GA che seleziona le VM con la nuova etichetta utilizzando la
instanceFilterstruttura nella configurazione. L'esempio seguente crea un file denominatoconfig.yamlche contiene una policy che corrisponde all'etichetta applicata nel passaggio precedente:cat > config.yaml << EOF agentsRule: packageState: installed version: 2.47.0 instanceFilter: inclusionLabels: - labels: KEY: VALUE EOFPer ulteriori informazioni sulla descrizione delle policy dell'agente GA, vedi File di configurazione per le policy dell'agente.
Crea una policy dell'agente GA in ogni zona che contiene VM con la nuova etichetta:
gcloud compute instances ops-agents policiescreate POLICY_ID \ --zone ZONE \ --file config.yaml --project PROJECT_IDPer ulteriori informazioni sulla creazione di policy dell'agente GA, vedi Creare una policy dell'agente.
Sostituire le policy di upgrade dell'agente beta
Per sostituire le policy dell'agente beta che eseguono l'upgrade dell'agente, hai le seguenti opzioni:
- Per assicurarti che Ops Agent sia sempre aggiornato, utilizza OS Patch per creare ed eseguire un job di applicazione patch OS che mantiene l'agente all'ultima versione.
Per eseguire un upgrade una tantum:
- Determina l'ultima versione di Ops Agent consultando le note di rilascio di Ops Agent su GitHub.
Crea o modifica una policy dell'agente che installa l'ultima versione dell'agente. Ad esempio, se l'ultima versione è la 2.67.0, puoi utilizzare un file YAML della policy dell'agente simile al seguente:
agentsRule: packageState: installed version: 2.67.0 instanceFilter: [...]Applica la policy alle VM in ogni zona.
Sistemi operativi supportati
Puoi applicare una policy dell'agente alle istanze VM di Compute Engine che eseguono i sistemi operativi mostrati nella tabella seguente:
| Sistema operativo | Ops Agent
(policy GA & beta†) |
Agente Logging
(solo policy beta†) |
Agente Monitoring
(solo policy beta†) |
|---|---|---|---|
| CentOS 8 | |||
| Rocky Linux 8 | |||
| RHEL 6 | |||
| RHEL 7: rhel-7, rhel-7-6-sap-ha, rhel-7-7-sap-ha, rhel-7-9-sap-ha |
‡ | ||
| RHEL 8: rhel-8, rhel-8-4-sap-ha, rhel-8-6-sap-ha, rhel-8-8-sap-ha |
‡ | ||
| Debian 9 (Stretch) | |||
| Debian 11 (Bullseye) | |||
| Deep Learning VM Image basate su Debian 11 (Bullseye) | |||
| Ubuntu LTS 18.04 (Bionic Beaver): ubuntu-1804-lts, ubuntu-minimal-1804-lts |
|||
| Ubuntu LTS 20.04 (Focal Fossa): ubuntu-2004-lts, ubuntu-minimal-2004-lts |
|||
| Ubuntu LTS 22.04 (Jammy Jellyfish): buntu-2204-lts, ubuntu-minimal-2204-lts |
|||
| SLES 12: sles-12, sles-12-sp5-sap |
|||
| SLES 15: sles-15, sles-15-sp2-sap, sles-15-sp3-sap, sles-15-sp4-sap, sles-15-sp5-sap, sles-15-sp6-sap |
|||
| OpenSUSE Leap 15: opensuse-leap (opensuse-leap-15-3-*, opensuse-leap-15-4-*) |
|||
| Windows Server: 2016, 2019, 2022, Core 2016, Core 2019, Core 2022 |
gcloud beta compute instances ops-agents policies create invocazione:
- Ops Agent viene mappato al tipo di agente
ops-agent. - Agente Logging viene mappato al tipo di agente
logging. - Agente Monitoring viene mappato al tipo di agente
metrics.
rhel-7-9-sap-ha, rhel-8-2-sap-ha, o rhel-8-4-sap-ha.
Passaggi successivi
Per informazioni sull'utilizzo delle policy dell'agente per gestire Ops Agent, consulta le seguenti pagine: