Le policy dell'agente consentono l'installazione e la manutenzione automatizzate dell'Ops Agent in un parco risorse di VM Compute Engine che corrispondono ai criteri specificati dall'utente. Puoi creare una policy per un progettoGoogle Cloud che gestisce le VM esistenti e nuove associate a quel progettoGoogle Cloud , garantendo la corretta installazione e disinstallazione di Ops Agent su queste VM.
Policy dell'agente per l&#Ops Agent
Il supporto per i criteri dell'agente per l'Ops Agent è disponibile a due livelli di rilascio: 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 norme di GA, se possibile. Nella maggior parte dei casi, puoi convertire le norme beta in norme 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, vedi quanto segue:
Differenze tra le policy per gli agenti beta e GA
Le norme relative agli agenti beta e GA differiscono nei seguenti modi:
Meccanismi di creazione
- Le policy dell'agente beta vengono create utilizzando quanto segue:
- Il gruppo di comandi
gcloud beta compute instances ops-agents policies
in Google Cloud SDK. - Il
agent-policy
modulo Terraform
- Il gruppo di comandi
- Le policy dell'agente GA vengono create utilizzando quanto segue:
- Il gruppo di comandi
gcloud compute instances ops-agents policies
in Google Cloud SDK. - Il
ops-agent-policy
modulo Terraform
- Il gruppo di comandi
- Le policy dell'agente beta vengono create utilizzando quanto segue:
Supporto per l'agente Monitoring e l'agente Logging legacy
- I criteri dell'agente beta possono gestire l'agente Monitoring e l'agente Logging legacy nonché Ops Agent.
- I criteri dell'agente GA gestiscono solo l'Ops Agent.
Upgrade automatico della versione dell'agente
- Le norme 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 Sostituisci i criteri di upgrade degli agenti beta.
Applicazione del criterio alle istanze di Compute Engine denominate
- Le policy dell'agente beta possono essere applicate a un elenco di istanze con nome.
- I criteri dell'agente GA non forniscono supporto per le istanze denominate. Per informazioni su come ottenere lo stesso comportamento con i criteri GA, consulta Convertire un criterio beta con nome dell'istanza in un criterio GA.
Applicazione globale o zonale delle policy dell'agente all'interno di un Google Cloud progetto
- I criteri degli agenti beta vengono applicati a livello globale a tutte le istanze selezionate dai criteri dei criteri all'interno del tuo progetto Google Cloud .
- 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,
un criterio creato nella zona
us-central1-a
non ha effetto sulle VM in altre zone.
Anche le norme relative alle versioni beta e GA sono strutturalmente diverse:
Le policy create utilizzando
gcloud beta compute instances ops-agents policies
descrivono le policy dell'agente passando singole opzioni ai comandi, ad esempio:gcloud beta compute instances ops-agents policies
create 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 offre le stesse funzionalità.
Le policy create utilizzando
gcloud compute instances ops-agents policies
descrivono la policy dell'agente utilizzando un file di configurazione YAML e una zona, ad esempio:gcloud compute instances ops-agents policies
create test-policy \ --zone us-central1-a \ --file test-policy.yaml \ --project PROJECT_IDIl modulo Terraform ops-agent-policy offre le stesse funzionalità.
Utilizzo delle norme beta e GA
Puoi utilizzare sia le norme degli agenti beta che GA con Ops Agent, a condizione che consideri le differenze tra i tipi di norme.
La differenza comportamentale più grande tra le norme degli agenti beta e GA è che le norme GA sono zonali, mentre le norme degli agenti beta sono globali all'interno di un progetto. ovvero 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 progettoGoogle Cloud .
Se i criteri beta selezionano un insieme di VM e i criteri GA selezionano un insieme diverso di VM, i criteri 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 l'Ops Agent e una policy GA che disinstalla l'Ops Agent.
Convertire le policy beta in policy GA
Puoi convertire le norme beta dell'agente Ops Agent in norme GA, a condizione che non ci siano differenze tra i tipi di norme che non puoi aggirare. Non puoi convertire le policy degli agenti beta per l'agente Monitoring o Logging legacy in policy degli agenti GA.
Per convertire le policy dell'agente beta in policy GA utilizzando Google Cloud SDK, fai quanto segue:
Genera un elenco di tutte le policy dell'agente beta nel tuo progetto eseguendo il seguente comando:
gcloud beta compute instances ops-agents policies
list --project PROJECT_IDIdentifica le policy dell'agente beta che vuoi convertire in policy GA.
Per ogni policy beta che identifichi per la conversione, procedi nel seguente modo:
Crea un file di configurazione YAML il più vicino possibile alla policy beta, tenendo conto delle differenze tra le policy beta e GA. Per informazioni sul formato di configurazione YAML, consulta Descrivere le policy degli agenti.
Crea una policy dell'agente GA in ogni zona in cui ti serve. Per informazioni sulla creazione di policy dell'agente GA, consulta Creare una policy dell'agente.
Elimina la policy dell'agente beta eseguendo questo comando:
gcloud beta compute instances ops-agents policies
delete 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.
Le sezioni seguenti descrivono come gestire i seguenti casi:
Converti una policy beta con nome dell'istanza 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 nel set di VM che vuoi selezionare. Per applicare un'etichetta a una VM esistente, utilizza il comando
gcloud compute instances add-labels
, come mostrato nel seguente comando:gcloud compute instances add-labels INSTANCE_NAME --labels=KEY=VALUE
Descrivi una policy dell'agente GA che seleziona le VM con la nuova etichetta utilizzando la struttura
instanceFilter
nella configurazione. L'esempio seguente crea un file denominatoconfig.yaml
che 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 EOF
Per saperne di più sulla descrizione delle policy dell'agente GA, consulta 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 policies
create POLICY_ID \ --zone ZONE \ --file config.yaml --project PROJECT_IDPer saperne di più sulla creazione di policy dell'agente GA, consulta Creare una policy dell'agente.
Sostituisci le policy di upgrade degli agenti 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 OS Patch 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 un criterio dell'agente che installa l'ultima versione dell'agente. Ad esempio, se l'ultima versione è 2.60.0, puoi utilizzare un file YAML agent-policy simile al seguente:
agentsRule: packageState: installed version: 2.60.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
(norme GA e beta†) |
Agente Logging
(solo per le norme beta†) |
Agente Monitoring
(solo criteri 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 Images 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
:
- Ops Agent viene mappato al tipo di agente
ops-agent
. - Agente di logging corrisponde al tipo di agente
logging
. - Agente Monitoring corrisponde 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 risorse: