Questo documento fornisce una panoramica dell'architettura dell'agente guest. L'agente guest è un componente fondamentale dell'ambiente guest. L'ambiente guest contiene script, daemon e file binari necessari alle istanze per essere eseguite su Compute Engine. Per saperne di più, consulta Ambiente guest.
L'agente guest configura i servizi e definisce le configurazioni minime per funzionalità come l'esecuzione di script di snapshot, il failover di Windows, OS Login e l'autenticazione SSH basata sui metadati. Per saperne di più sulle funzioni principali dell'agente guest, consulta Funzionalità dell'agente guest.
Architettura dell'agente guest
A partire dalla versione 20250901.00
, l'architettura dell'agente guest viene
aggiornata da un design monolitico a un sistema moderno basato su plug-in. Questa
evoluzione migliora flessibilità, affidabilità ed estensibilità.
Architettura monolitica: gli agenti guest precedenti alla versione
20250901.00
sono caratterizzati da un processo singolo e unificato incentrato sulla descrizione delle istanze del server dei metadati. Il server di metadati è un server HTTP per istanza che viene eseguito insieme a ogni istanza Compute Engine. Per ulteriori informazioni sul server dei metadati, consulta Metadati della VM.L'agente guest esegue il long polling del server di metadati e interviene in base alle modifiche dello stato. Con questa architettura, lo stato dell'agente viene condiviso in tutte le attività, come SSH e la configurazione di rete. Questo approccio monolitico non prevedeva l'isolamento di interfacce e componenti. Le modifiche o l'introduzione di funzionalità in un'area dell'agente influiscono simultaneamente sull'intero sistema. Questo pattern rende difficile l'aggiunta di funzionalità e la copertura dei test.
Architettura basata su plug-in: a partire dalla versione
20250901.00
, l'agente guest è suddiviso in plug-in distinti e indipendenti gestiti da un gestore centrale. Ogni plug-in può interagire con il server dei metadati e, come indicato da un gestore centrale, apportare le modifiche necessarie. Questo approccio modulare garantisce che un arresto anomalo di un plug-in non influisca sull'agente principale o su altri plug-in.
L'architettura basata su plug-in
Questa architettura è basata su un gestore centrale che controlla vari plug-in, separando le funzionalità di base dai plug-in opzionali specifici del servizio.
Componenti chiave
Il seguente diagramma mostra i componenti chiave dell'agente guest e le relative interazioni.

Plug-in principale: questo plug-in incapsula la funzionalità dell'agente guest originale. Esegue le attività essenziali necessarie per l'esecuzione dell'istanza su Google Cloud. Queste includono attività come:
- Configurazione di rete: configura l'interfaccia di rete principale per abilitare la comunicazione.
- Accesso SSH: gestisce le chiavi SSH dell'utente per consentire connessioni sicure alla tua istanza.
- Accesso ai metadati: fornisce un percorso per l'istanza per accedere ai metadati dell'istanza e del progetto.
Non puoi disattivare il plug-in principale.
Per saperne di più sulle funzioni principali dell'agente guest, consulta Funzionalità dell'agente guest.
Plug-in facoltativi: puoi eseguire il provisioning di questi plug-in per l'integrazione con altri serviziGoogle Cloud per eseguire attività quali:
- Monitoraggio e logging: attiva il plug-in Ops Agent per raccogliere metriche e log per Cloud Monitoring.
- Gestione dei workload: attiva il plug-in Workload Manager per raccogliere informazioni di configurazione e runtime dai tuoi workload per l'analisi.
- Ottimizzazione dei workload: attiva il plug-in SAP Agent per supportare i tuoi workload SAP in esecuzione su Google Cloud.
Puoi attivare o disattivare i plug-in facoltativi in base alle tue esigenze.
Piano di controllo dell'agente: questo servizio Google Cloud gestito viene eseguito sull'infrastruttura di backend di Google. Il control plane gestisce il ciclo di vita dei plug-in facoltativi, inclusi installazione, aggiornamenti e configurazione, comunicando con il gestore degli agenti guest sull'istanza.
Gestore agenti ospiti: questo processo centrale avvia, arresta e monitora lo stato di tutti i plug-in. Il gestore degli agenti ospiti facilita la comunicazione tra il plug-in principale e il control plane dell'agente. La gestione del ciclo di vita dei plug-in facoltativi include:
- Installazione e aggiornamenti: il gestore dell'agente guest installa, avvia, arresta e configura i plug-in facoltativi in base alle istruzioni del piano di controllo dell'agente.
- Monitoraggio dell'integrità: il gestore dell'agente guest monitora l'integrità e lo stato dei plug-in facoltativi, incluso l'utilizzo di CPU e memoria, e invia queste informazioni al control plane dell'agente.
- Gestione dei criteri: utilizza le API Compute Engine per creare criteri che controllano l'installazione e il controllo delle versioni dei plug-in facoltativi.
Vantaggi
L'architettura basata su plug-in offre diversi vantaggi rispetto al design monolitico. Questi vantaggi includono:
- Isolamento dei plug-in: ogni plug-in viene eseguito in un processo separato, quindi un arresto anomalo in uno non influisce sull'agente principale o su altri plug-in.
- Protezione delle risorse: l'agente guest utilizza funzionalità a livello di sistema operativo per applicare limiti alle risorse dei plug-in, impedendo a un singolo plug-in di consumare CPU o memoria eccessive.
- Recupero automatico in caso di arresto anomalo: il sistema esegue automaticamente il recupero in caso di arresto anomalo di un plug-in interrompendolo e riavviandolo.
- Attivazione selettiva: puoi disattivare i plug-in facoltativi non necessari, il che ti consente di proteggere o ottimizzare la tua istanza.
- Overhead ridotto per i plug-in facoltativi: il gestore dell'agente guest gestisce automaticamente l'installazione e gli aggiornamenti dei plug-in facoltativi, riducendo l'impegno manuale necessario per mantenerli aggiornati.
Posizione dei file binari dell'agente guest
Le tabelle seguenti elencano i percorsi dei file per i diversi binari dell'agente guest su istanze Linux e Windows, a seconda dell'architettura.
Binari dell'agente basati su plug-in
Questa tabella elenca i percorsi dei file per i binari dell'agente guest basati su plug-in sulle istanze Linux e Windows:
Componente | Percorso su Linux | Percorso su Windows |
---|---|---|
Gestore degli agenti ospiti | /usr/bin/google_guest_agent_manager |
C:\ProgramData\Google\Compute Engine\google-guest-agent |
File binario del plug-in principale | /usr/lib/google/guest_agent/core_plugin |
C:\Program Files\Google\Compute Engine\agent\CorePlugin.exe |
Esecutore script metadati | /usr/bin/gce_metadata_script_runner |
C:\Program Files\Google\Compute Engine\agent\GCEMetadataScriptRunner.exe |
Binari dell'agente monolitico
La tabella seguente elenca i percorsi dei file per i file binari dell'agente guest monolitico su istanze Linux e Windows:
Componente | Percorso su Linux | Percorso su Windows |
---|---|---|
Agente ospite | /usr/bin/google_guest_agent |
C:\Program Files\Google\Compute Engine\google_guest_agent.exe |
Esecutore script metadati | /usr/bin/google_metadata_script_runner |
C:\Program Files\Google\Compute Engine\metadata_scripts\GCEMetadataScripts.exe |
Chiavi autorizzate | Non applicabile | C:\Program Files\Google\Compute Engine\agent\GCEAuthorizedKeys.exe |
Compatibilità con le versioni precedenti
Per garantire una transizione senza problemi dal precedente agente guest monolitico al sistema basato su plug-in, il pacchetto dell'agente guest include diversi componenti progettati per la compatibilità con le versioni precedenti. Questi componenti non fanno parte dell'architettura basata su plug-in e si attivano solo se scegli manualmente di ripristinare l'agente monolitico impostando l'attributo dei metadati enable-guest-agent-core-plugin
su false
.
I componenti che supportano questa compatibilità includono:
- Gestore di compatibilità dell'agente ospite: questo pacchetto gestisce il passaggio dall'agente basato su plug-in all'agente monolitico.
- Gestore di compatibilità di esecuzione degli script di metadati: questo pacchetto garantisce che venga utilizzato lo script runner corretto, a seconda che sia attivo l'agente monolitico o basato su plug-in.
- Gestore di compatibilità delle chiavi autorizzate (solo Windows): questo pacchetto gestisce le chiavi SSH, assicurandosi che vengano utilizzate le chiavi corrette per l'agente precedente o quello nuovo.
Componente | Percorso su Linux | Percorso su Windows |
---|---|---|
Gestore della compatibilità degli agenti ospiti | /usr/bin/google_guest_compat_manager |
C:\Program Files\Google\Compute Engine\agent\GCEWindowsCompatManager.exe |
Gestore della compatibilità dell'esecutore di script dei metadati | /usr/bin/metadata_script_runner_compat |
C:\Program Files\Google\Compute Engine\metadata_scripts\GCECompatMetadataScripts.exe |
Gestione della compatibilità delle chiavi autorizzate | Non applicabile | C:\Program Files\Google\Compute Engine\agent\GCEWindowsAuthorizedKeysCompat.exe |
Passaggi successivi
- Per ulteriori informazioni sulle funzioni di base del plug-in, vedi Funzionalità dell'agente guest