Dieses Dokument bietet einen Überblick über die Architektur des Gast-Agents. Der Gast-Agent ist eine wichtige Komponente der Gastumgebung. Die Gastumgebung enthält Scripts, Daemons und Binärdateien, die Instanzen benötigen, um in Compute Engine ausgeführt zu werden. Weitere Informationen finden Sie unter Gastumgebung.
Der Gast-Agent richtet Dienste ein und definiert Mindestkonfigurationen für Funktionen wie die Ausführung von Snapshot-Skripts, Windows-Failover, OS Login und metadatenbasierte SSH-Authentifizierung. Weitere Informationen zu den Kernfunktionen des Gast-Agents finden Sie unter Funktionen des Gast-Agents.
Architektur von Gast-Agents
Ab Version 20250901.00 wird die Gast-Agent-Architektur von einem monolithischen Design auf ein modernes, Plug-in-basiertes System aktualisiert. Diese Entwicklung verbessert die Flexibilität, Zuverlässigkeit und Erweiterbarkeit.
Monolithische Architektur: Gast-Agents vor
20250901.00haben einen einzelnen, einheitlichen Prozess, der sich auf die Beschreibung von Instanzen durch den Metadatenserver konzentriert. Der Metadatenserver ist ein instanzspezifischer HTTP-Server, der neben jeder Compute Engine-Instanz ausgeführt wird. Weitere Informationen zum Metadatenserver finden Sie unter VM-Metadaten.Der Gast-Agent fragt den Metadatenserver regelmäßig ab und ergreift Maßnahmen basierend auf Statusänderungen. Bei dieser Architektur wird der Status des Agents für alle Aufgaben wie SSH und Netzwerkeinrichtung freigegeben. Bei diesem monolithischen Ansatz fehlte es an Schnittstellen- und Komponentenisolation. Änderungen oder die Einführung von Funktionen in einem Bereich des Agenten wirken sich gleichzeitig auf das gesamte System aus. Dieses Muster erschwert das Hinzufügen von Funktionen und die Testabdeckung.
Plug-in-basierte Architektur: Ab Version
20250901.00ist der Gast-Agent in separate, unabhängige Plug-ins unterteilt, die von einem zentralen Manager verwaltet werden. Jedes Plug-in kann mit dem Metadatenserver interagieren und nach Anweisung eines zentralen Managers bei Bedarf Änderungen vornehmen. Dieser modulare Ansatz sorgt dafür, dass ein Absturz in einem Plug-in sich nicht auf den Core-Agent oder andere Plug-ins auswirkt.
Die auf Plug-ins basierende Architektur
Diese Architektur basiert auf einem zentralen Manager, der verschiedene Plug-ins steuert. Dabei werden Hauptfunktionen von optionalen, dienstspezifischen Plug-ins getrennt, die als Erweiterungen bezeichnet werden.
Schlüsselkomponenten
Das folgende Diagramm zeigt die wichtigsten Komponenten des Gast-Agents und ihre Interaktionen.
Kern-Plug-in: Dieses Plug-in kapselt die Funktionalität des ursprünglichen Gast-Agents. Es führt die wesentlichen Aufgaben aus, die für die Ausführung Ihrer Instanz auf Cloud de Confiance by S3NSerforderlich sind. Dazu gehören Aufgaben wie die folgenden:
- Netzwerkkonfiguration: Richtet die primäre Netzwerkschnittstelle für die Kommunikation ein.
- SSH-Zugriff: Verwaltet die SSH-Schlüssel von Nutzern, um sichere Verbindungen zu Ihrer Instanz zu ermöglichen.
- Metadatenzugriff: Ermöglicht der Instanz den Zugriff auf Instanz- und Projektmetadaten.
Das Core-Plug-in kann nicht deaktiviert werden.
Weitere Informationen zu den Kernfunktionen des Gast-Agents finden Sie unter Funktionen des Gast-Agents.
Erweiterungen (optionale Plug-ins): Sie können diese Erweiterungen bereitstellen, um sie in andere Cloud de Confiance by S3NS Dienste zu integrieren und Aufgaben wie die folgenden auszuführen:
- Monitoring und Logging: Aktivieren Sie den Ops-Agent, um Messwerte und Logs für Cloud Monitoring zu erfassen. Weitere Informationen finden Sie unter Ops-Agent mit VM Extension Manager-Richtlinien installieren und verwalten.
- Arbeitslastverwaltung: Aktivieren Sie den Agenten für Compute-Arbeitslasten, um Konfigurations- und Laufzeitinformationen aus Ihren Arbeitslasten zur Analyse zu erfassen. Weitere Informationen finden Sie unter Agent für Computing-Arbeitslasten – Übersicht.
- Arbeitslastoptimierung: Aktivieren Sie den Agent für SAP, um Ihre SAP-Arbeitslasten zu unterstützen, die auf Cloud de Confiance by S3NSausgeführt werden. Weitere Informationen finden Sie unter Agent für SAP auf einer VM-Flotte installieren und verwalten.
Weitere Informationen zum Installieren und Verwalten dieser Erweiterungen finden Sie unter VM Extension Manager.
VM Extension Manager: Dieser verwaltete Cloud de Confiance by S3NS -Dienst wird in der Backend-Infrastruktur von Google ausgeführt. Der VM Extension Manager verwaltet den Lebenszyklus von Erweiterungen, einschließlich ihrer Installation, Aktualisierung und Konfiguration, indem er mit dem Gast-Agent-Manager auf der Instanz kommuniziert.
Gast-Agent-Manager: Dieser zentrale Prozess startet, stoppt und überwacht den Status aller Plug-ins. Der Gast-Agent-Manager erleichtert die Kommunikation zwischen dem Core-Plug-in und dem VM Extension Manager. Die Lebenszyklusverwaltung für Erweiterungen umfasst Folgendes:
- Installation und Updates: Der Gast-Agent-Manager installiert, startet, stoppt und konfiguriert Erweiterungen basierend auf Anweisungen vom VM Extension Manager.
- Zustandsüberwachung: Der Gast-Agent-Manager überwacht den Zustand und Status von Erweiterungen, einschließlich ihrer CPU- und Arbeitsspeichernutzung, und meldet diese Informationen an den VM Extension Manager zurück.
- Richtlinienverwaltung: Mit Compute Engine APIs können Sie Richtlinien erstellen, mit denen die Installation und Versionsverwaltung von Erweiterungen gesteuert werden.
Vorteile
Die Plug-in-basierte Architektur bietet mehrere Vorteile gegenüber dem monolithischen Design. Zu diesen Vorteilen gehören:
- Plugin-Isolation: Jedes Plugin wird in einem separaten Prozess ausgeführt. Ein Absturz in einem Plugin wirkt sich daher nicht auf den Core-Agent oder andere Plugins aus.
- Ressourcenschutz: Der Gast-Agent verwendet Funktionen auf Betriebssystemebene, um Ressourcenlimits für Plug-ins zu erzwingen. So wird verhindert, dass ein einzelnes Plug-in übermäßig viel CPU oder Arbeitsspeicher beansprucht.
- Automatische Wiederherstellung nach Absturz: Das System stellt sich automatisch nach einem Plug-in-Absturz wieder her, indem es das Plug-in beendet und neu startet.
- Selektive Aktivierung: Sie können nicht benötigte Erweiterungen deaktivieren, um Ihre Instanz zu sichern oder zu optimieren.
- Geringerer Aufwand für Erweiterungen: Der Gast-Agent-Manager übernimmt automatisch die Installation und Aktualisierung von Erweiterungen. So ist weniger manueller Aufwand erforderlich, um sie auf dem neuesten Stand zu halten.
API-Endpunkte
Der Gast-Agent kommuniziert mit mehreren Google-APIs und ‑Endpunkten, um zu funktionieren. Wenn Sie bestimmte Firewallregeln haben oder VPC Service Controls verwenden und auf Agentfunktionen angewiesen sind, die diese verwenden, müssen Sie dafür sorgen, dass Ihre Instanzen die entsprechenden Endpunkte erreichen können:
- Metadatenserver (
metadata.google.internal): Der Gast-Agent ruft vom Metadatenserver Instanz- und Projektmetadaten wie SSH-Schlüssel und Netzwerkkonfigurationen ab, um die Instanz einzurichten. Weitere Informationen finden Sie unter Hauptfunktion und Metadatenserver-Endpunkte. - Cloud Storage (
storage.googleapis.com): Der Gast-Agent kann Metadatenskripts aus Cloud Storage herunterladen, wenn Ihre Instanzmetadaten eine URL enthalten, die auf einen Cloud Storage-Bucket verweist. Weitere Informationen finden Sie in der Cloud Storage-Dokumentation unter Ausführung von Metadatenskripts und Anfrageendpunkte. - VM Extension Manager (
*.agentcommunication.googleapis.com): Der Gast-Agent-Manager kommuniziert mit dem Agent Communication Service (ACS), um den Lebenszyklus von Erweiterungen zu verwalten und Berichtsmesswerte zu melden. Weitere Informationen finden Sie unter VM Extension Manager. - Cloud Logging (
logging.googleapis.com): Standardmäßig ist Cloud Logging für Logs im Gast-Agent aktiviert. Weitere Informationen finden Sie unter Cloud Logging API.
Eine vollständige Liste der regionalen Endpunkte finden Sie unter Regionale Dienstendpunkte.
Speicherort der Binärdateien des Gast-Agents
In den folgenden Tabellen sind die Dateipfade für die verschiedenen Gast-Agent-Binärdateien auf Linux- und Windows-Instanzen aufgeführt, je nach Architektur.
Plug-in-basierte Agent-Binärdateien
In dieser Tabelle sind die Dateipfade für die Binärdateien des Plug-in-basierten Gast-Agents auf Linux- und Windows-Instanzen aufgeführt:
| Komponente | Pfad unter Linux | Pfad unter Windows |
|---|---|---|
| Gast-Agenten-Manager | /usr/bin/google_guest_agent_manager |
C:\ProgramData\Google\Compute Engine\agent\GCEWindowsAgentManager.exe |
| Binärdatei des Core-Plug‑ins | /usr/lib/google/guest_agent/core_plugin |
C:\Program Files\Google\Compute Engine\agent\CorePlugin.exe |
| Metadaten-Script-Runner | /usr/bin/gce_metadata_script_runner |
C:\Program Files\Google\Compute Engine\agent\GCEMetadataScriptRunner.exe |
Monolithische Agent-Binärdateien
In der folgenden Tabelle sind die Dateipfade für die monolithischen Gast-Agent-Binärdateien auf Linux- und Windows-Instanzen aufgeführt:
| Komponente | Pfad unter Linux | Pfad unter Windows |
|---|---|---|
| Gast-Agent | /usr/bin/google_guest_agent |
C:\Program Files\Google\Compute Engine\agent\GCEWindowsAgent.exe |
| Metadaten-Script-Runner | /usr/bin/google_metadata_script_runner |
C:\Program Files\Google\Compute Engine\metadata_scripts\GCEMetadataScripts.exe |
| Autorisierte Schlüssel | Nicht zutreffend | C:\Program Files\Google\Compute Engine\agent\GCEAuthorizedKeys.exe |
Gast-Agent-Daemon-Dienste
In den folgenden Tabellen sind die auf Linux- und Windows-Instanzen installierten Gast-Agent-Daemon-Dienste aufgeführt. Diese Dienste werden unter Linux als systemd-Einheiten und unter Windows als Windows-Dienste ausgeführt.
| Komponente | Dienstname unter Linux | Dienstname unter Windows | Status |
|---|---|---|---|
| Gast-Agent-Manager | google-guest-agent-manager.service |
GCEAgentManager |
In allen Modi aktiviert, einschließlich Abwärtskompatibilität. |
| Gast-Agent | google-guest-agent.service |
GCEAgent |
Standardmäßig deaktiviert. Nur im Abwärtskompatibilitätsmodus aktiviert. |
| Kompatibilitätsmanager für Gast-Agents | google-guest-compat-manager.service |
GCEWindowsCompatManager |
In allen Modi aktiviert, einschließlich Abwärtskompatibilität. |
| Aktualisierung des Arbeitslastzertifikats | gce-workload-cert-refresh.timer |
N/A |
Standardmäßig deaktiviert. Nur im Abwärtskompatibilitätsmodus aktiviert. |
| Startskripts | google-startup-scripts.service |
GCEStartup |
|
| Shutdown-Skripts | google-shutdown-scripts.service |
Shutdown |
|
Abwärtskompatibilität
Um einen reibungslosen Übergang vom bisherigen monolithischen Gast-Agent zum pluginbasierten System zu gewährleisten, enthält das Gast-Agent-Paket mehrere Komponenten, die für die Abwärtskompatibilität entwickelt wurden. Diese Komponenten sind nicht Teil der auf Plug-ins basierenden Architektur und werden nur aktiviert, wenn Sie manuell zum monolithischen Agent zurückkehren, indem Sie das Metadatenattribut enable-guest-agent-core-plugin auf false festlegen.
Die Komponenten, die diese Kompatibilität unterstützen, sind:
- Guest Agent Compatibility Manager: Dieses Paket verwaltet den Wechsel zwischen dem auf Plug-ins basierenden Agent und dem monolithischen Agent.
- Kompatibilitätsmanager für den Metadatenscript-Runner: Dieses Paket sorgt dafür, dass der richtige Script-Runner verwendet wird, je nachdem, ob der monolithische oder der auf Plug-ins basierende Agent aktiv ist.
- Authorized Keys Compatibility Manager (nur Windows): Dieses Paket verarbeitet SSH-Schlüssel und sorgt dafür, dass die richtigen Schlüssel für den alten oder neuen Agent verwendet werden.
| Komponente | Pfad unter Linux | Pfad unter Windows |
|---|---|---|
| Kompatibilitätsmanager für Gast-Agents | /usr/bin/google_guest_compat_manager |
C:\Program Files\Google\Compute Engine\agent\GCEWindowsCompatManager.exe |
| Kompatibilitätsmanager für Metadatenscript-Runner | /usr/bin/metadata_script_runner_compat |
C:\Program Files\Google\Compute Engine\metadata_scripts\GCECompatMetadataScripts.exe |
| Kompatibilitätsmanager für autorisierte Schlüssel | Nicht zutreffend | C:\Program Files\Google\Compute Engine\agent\GCEWindowsAuthorizedKeysCompat.exe |
Nächste Schritte
- Weitere Informationen zu den Kernfunktionen des Plug-ins finden Sie unter Funktionen des Gast-Agents.