Panoramica dei criteri dell'agente per Ops Agent

I criteri dell'agente consentono l'installazione e la manutenzione automatica di Ops Agent su un parco risorse di VM Compute Engine che corrispondono ai criteri specificati dall'utente. Puoi creare un criterio per un progetto Google Cloud che regoli le VM esistenti e nuove associate al progetto Google Cloud, garantendo l'installazione e la disinstallazione corretta dell'Ops Agent su queste VM.

Criteri degli agenti per Ops Agent

Il supporto dei criteri dell'agente per l&#Ops Agent è disponibile su due livelli di release: GA e beta. Entrambi i tipi di criteri si basano sulle funzionalità di OS Config fornite da VM Manager, ma le implementazioni sono diverse. Ti consigliamo di utilizzare i criteri GA, se possibile. Nella maggior parte dei casi, puoi convertire i criteri beta in criteri GA.

Questa sezione descrive le differenze tra le norme relative agli agenti beta e GA. Per informazioni sulla creazione e sulla gestione delle norme relative agli agenti, consulta quanto segue:

Differenze tra i criteri degli agenti beta e GA

Le norme relative agli agenti beta e GA differiscono nei seguenti modi:

  • Meccanismi di creazione

  • Supporto per gli agenti Monitoring e Logging legacy

    • I criteri dell'agente beta possono gestire l'agente Monitoring e l'agente Logging legacy, nonché l'Ops Agent.
    • I criteri dell'agente GA gestiscono solo l'Ops Agent.
  • Upgrade automatico della versione dell'agente

    • I criteri dell'agente beta possono mantenere l'agente alla versione più recente eseguendo l'upgrade.
    • I criteri dell'agente GA non supportano un'operazione di upgrade automatico. Per metodi alternativi, consulta Sostituisci i criteri di upgrade dell'agente beta.
  • Applicazione dei criteri alle istanze Compute Engine denominate

  • Applicazione globale o zonale dei criteri degli agenti all'interno di un progetto Google Cloud

    • I criteri dell'agente beta vengono applicati a livello globale a tutte le istanze selezionate dai criteri del criterio all'interno del progetto Google Cloud.
    • I criteri dell'agente GA vengono applicati a tutte le istanze selezionate dai criteri della norma all'interno della zona specificata dalla norma. Ad esempio, un criterio creato nella zona us-central1-a non ha alcun effetto sulle VM in altre zone.

Anche i criteri beta e GA sono strutturalmente diversi:

  • I criteri creati utilizzando gcloud beta compute instances ops-agents policies descrivono i criteri 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_ID
    

    Il modulo Terraform agent-policy offre le stesse funzionalità.

  • I criteri creati utilizzando gcloud compute instances ops-agents policies descrivono i criteri 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_ID
    

    Il modulo Terraform ops-agent-policy offre le stesse funzionalità.

Utilizzo sia dei criteri beta sia di quelli GA

Puoi utilizzare i criteri degli agenti beta e GA con Ops Agent, a condizione di tenere conto delle differenze tra i tipi di criteri.

La differenza di comportamento più significativa tra i criteri dell'agente beta e quelli di GA è che i criteri di GA sono zonali, mentre quelli dell'agente beta sono globali all'interno di un progetto. In altre parole, i criteri dell'agente GA selezionano solo le VM nella zona in cui viene creato il criterio, ma i criteri beta possono selezionare qualsiasi VM nel progetto Google Cloud.

Se i criteri beta selezionano un insieme di VM e i criteri GA selezionano un insieme diverso di VM, i criteri non possono essere in conflitto.

Puoi avere criteri dell'agente beta e GA che si applicano alla stessa VM, ma devi assicurarti che i criteri non abbiano scopi in conflitto, ad esempio un criterio beta che installa l'Ops Agent e un criterio GA che lo disinstalla.

Convertire i criteri beta in criteri GA

Puoi convertire i criteri dell'agente Ops Agent beta in criteri dell'agente GA, a condizione che non esistano differenze tra i tipi di criteri che non puoi aggirare. Non puoi convertire i criteri dell'agente beta per l'agente di monitoraggio o l'agente Logging esistenti in criteri dell'agente GA.

Per convertire i criteri dell'agente beta in criteri GA utilizzando Google Cloud SDK, procedi nel seguente modo:

  1. Genera un elenco di tutti i criteri dell'agente beta nel tuo progetto eseguendo il seguente comando:

    gcloud beta compute instances ops-agents policies list --project PROJECT_ID
    
  2. Identifica i criteri dell'agente beta che vuoi convertire in criteri GA.

  3. Per ogni criterio beta identificato per la conversione:

    1. Crea un file di configurazione YAML il più simile possibile ai criteri beta, tenendo conto delle differenze tra i criteri beta e GA. Per informazioni sul formato di configurazione YAML, consulta Descrivere i criteri dell'agente.

    2. Crea un criterio per gli agenti GA in ogni zona in cui è necessario. Per informazioni sulla creazione di criteri per gli agenti GA, consulta Creare un criterio per gli agenti.

    3. Elimina il criterio dell'agente beta eseguendo il seguente comando:

      gcloud beta compute instances ops-agents policies delete POLICY_ID --project PROJECT_ID
      

Potresti non essere in grado di scrivere un criterio dell'agente GA per Ops Agent che sia esattamente uguale a un criterio dell'agente beta esistente. Tuttavia, con l'eccezione dell'opzione di upgrade automatico del criterio dell'agente beta, puoi ottenere un comportamento equivalente.

Le sezioni seguenti descrivono come gestire i seguenti casi:

Convertire un criterio di istanze con nome beta in un criterio GA

Per convertire un criterio dell'agente beta applicato a un insieme denominato di istanze VM, puoi procedere nel seguente modo:

  1. Applica un'etichetta alle istanze nell'insieme 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
    
  2. Descrivi un criterio dell'agente GA che seleziona le VM con la nuova etichetta utilizzando la struttura instanceFilter nella configurazione. L'esempio seguente crea un file denominato config.yaml che contiene una norma corrispondente all'etichetta applicata nel passaggio precedente:

    cat > config.yaml << EOF
    agentsRule:
      packageState: installed
      version: 2.47.0
    instanceFilter:
      inclusionLabels:
      - labels:
        KEY: VALUE
    EOF
    

    Per ulteriori informazioni sulla descrizione dei criteri dell'agente GA, consulta File di configurazione per i criteri dell'agente.

  3. Crea un criterio dell'agente GA in ogni zona con VM con la nuova etichetta:

    gcloud compute instances ops-agents policies create POLICY_ID \
      --zone ZONE \
      --file config.yaml
      --project PROJECT_ID
    

    Per saperne di più sulla creazione di criteri per gli agenti GA, consulta Creare un criterio per gli agenti.

Sostituire i criteri di upgrade dell'agente beta

Per sostituire i criteri dell'agente beta che eseguono l'upgrade dell'agente, hai le seguenti opzioni:

  • Per assicurarti che l'Ops Agent sia sempre aggiornato, utilizza OS Patch per creare ed eseguire un job OS Patch che mantenga l'agente aggiornato alla versione più recente.
  • Per eseguire un upgrade una tantum:

    1. Per determinare la versione più recente di Ops Agent, consulta le note di rilascio di Ops Agent su GitHub.
    2. Crea o modifica un criterio dell'agente che installa la versione più recente dell'agente. Ad esempio, se la versione più recente è 2.51.0, puoi utilizzare un file YAML di norme dell'agente simile al seguente:

      agentsRule:
        packageState: installed
        version: 2.51.0
      instanceFilter:
      [...]
      
    3. Applica il criterio alle VM in ogni zona.

Sistemi operativi supportati

Puoi applicare un criterio dell'agente alle istanze VM di Compute Engine che eseguono i sistemi operativi indicati nella tabella seguente:

Sistema operativo Ops Agent
(norme GA e beta)
Agente Logging
(solo per i criteri 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 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):
ubuntu-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
  Nei criteri degli agenti beta, le colonne degli agenti vengono mappate a un tipo di agente specificato per l'gcloud beta compute instances ops-agents policies create:
  • Ops Agent corrisponde al tipo di agente ops-agent.
  • Agente di logging corrisponde al tipo di agente logging.
  • Agente Monitoring corrisponde al tipo di agente metrics.
 L'agente Monitoring non è supportato su rhel-7-9-sap-ha, rhel-8-2-sap-ha o rhel-8-4-sap-ha.

Passaggi successivi

Per informazioni sull'utilizzo dei criteri dell'agente per gestire Ops Agent, consulta quanto segue: