Dieses Dokument bietet einen Überblick über die Architektur des Gast-Agents. Der Gast-Agent ist eine wichtige Komponente der Gastumgebung. Die Gastumgebung enthält Skripts, 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 des Gast-Agents
Ab Version 20250901.00
wird die Gast-Agent-Architektur von einem monolithischen Design zu einem modernen, auf Plug-ins basierenden System aktualisiert. Diese Entwicklung verbessert die Flexibilität, Zuverlässigkeit und Erweiterbarkeit.
Monolithische Architektur: Gast-Agents vor
20250901.00
haben einen einzelnen, einheitlichen Prozess, der sich auf die Beschreibung von Instanzen durch den Metadatenserver konzentriert. Der Metadatenserver ist ein HTTP-Server pro Instanz, der neben jeder Compute Engine-Instanz ausgeführt wird. Weitere Informationen zum Metadatenserver finden Sie unter VM-Metadaten.Der Gast-Agent führt Long-Polling für den Metadatenserver durch 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 die Isolation von Schnittstellen und Komponenten. Änderungen oder die Einführung von Funktionen in einem Bereich des Agents 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.00
ist 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 nimmt bei Bedarf Änderungen vor, die von einem zentralen Manager vorgegeben werden. 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. So werden Kernfunktionen von optionalen, dienstspezifischen Plug-ins getrennt.
Schlüsselkomponenten
Das folgende Diagramm zeigt die wichtigsten Komponenten des Gast-Agents und ihre Interaktionen.

Core-Plug-in: Dieses Plug-in kapselt die Funktionen des ursprünglichen Gast-Agents. Er führt die wesentlichen Aufgaben aus, die für die Ausführung Ihrer Instanz auf Google Clouderforderlich 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.
Optionale Plug-ins: Sie können diese Plug-ins bereitstellen, um sie in andereGoogle Cloud -Dienste zu integrieren und Aufgaben wie die folgenden auszuführen:
- Monitoring und Logging: Aktivieren Sie das Ops-Agent-Plug-in, um Messwerte und Logs für Cloud Monitoring zu erfassen.
- Arbeitslastverwaltung: Aktivieren Sie das Workload Manager-Plug‑in, um Konfigurations- und Laufzeitinformationen aus Ihren Arbeitslasten zur Analyse zu erfassen.
- Arbeitslastoptimierung: Aktivieren Sie das SAP Agent-Plug-in, um Ihre SAP-Arbeitslasten zu unterstützen, die auf Google Cloudausgeführt werden.
Sie können optionale Plug-ins nach Bedarf aktivieren oder deaktivieren.
Agent-Steuerungsebene: Dieser verwaltete Google Cloud Dienst wird in der Backend-Infrastruktur von Google ausgeführt. Die Steuerungsebene verwaltet den Lebenszyklus optionaler Plug-ins, einschließlich ihrer Installation, Aktualisierungen und Konfiguration, indem sie 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 ermöglicht die Kommunikation zwischen dem Core-Plugin und der Agent-Steuerungsebene. Die Lebenszyklusverwaltung für die optionalen Plug-ins umfasst Folgendes:
- Installation und Updates: Der Gast-Agent-Manager installiert, startet, stoppt und konfiguriert optionale Plug-ins basierend auf Anweisungen der Agent-Steuerungsebene.
- Zustandsüberwachung: Der Gast-Agent-Manager überwacht den Zustand und Status optionaler Plug-ins, einschließlich ihrer CPU- und Speichernutzung, und meldet diese Informationen an die Agent-Steuerungsebene zurück.
- Richtlinienverwaltung: Mit Compute Engine APIs können Sie Richtlinien erstellen, mit denen die Installation und Versionsverwaltung optionaler Plug-ins gesteuert werden.
Vorteile
Die Plug‑in-basierte Architektur bietet mehrere Vorteile gegenüber dem monolithischen Design. Zu diesen Vorteilen gehören:
- Plug-in-Isolation: Jedes Plug-in wird in einem separaten Prozess ausgeführt. Ein Absturz in einem Plug-in wirkt sich daher nicht auf den Core-Agent oder andere Plug-ins 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 verbraucht.
- Automatische Wiederherstellung nach Absturz: Das System stellt sich automatisch von einem Plugin-Absturz wieder her, indem es das Plugin beendet und neu startet.
- Selektive Aktivierung: Sie können optionale Plug-ins deaktivieren, die nicht benötigt werden, um Ihre Instanz zu schützen oder zu optimieren.
- Geringerer Aufwand für optionale Plug-ins: Der Gast-Agent-Manager übernimmt automatisch die Installation und Aktualisierung optionaler Plug-ins. So ist weniger manueller Aufwand erforderlich, um sie auf dem neuesten Stand zu halten.
Speicherort der Binärdateien des Gast-Agents
In den folgenden Tabellen sind die Dateipfade für die verschiedenen Gastagent-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 auf Plug-ins basierenden Gast-Agent-Binärdateien auf Linux- und Windows-Instanzen aufgeführt:
Komponente | Pfad unter Linux | Pfad unter Windows |
---|---|---|
Gast-Agent-Manager | /usr/bin/google_guest_agent_manager |
C:\ProgramData\Google\Compute Engine\google-guest-agent |
Binärdatei des Core-Plug-ins | /usr/lib/google/guest_agent/core_plugin |
C:\Program Files\Google\Compute Engine\agent\CorePlugin.exe |
Metadatenskript-Ausführer | /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\google_guest_agent.exe |
Metadatenskript-Ausführer | /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 |
Abwärtskompatibilität
Damit die Umstellung vom bisherigen monolithischen Gast-Agent auf das Plug-in-basierte System reibungslos verläuft, 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 Plugin-basierten Agent und dem monolithischen Agent.
- Kompatibilitätsmanager für die Ausführung von Metadatenskripts: 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 |
---|---|---|
Gast-Agent-Kompatibilitätsmanager | /usr/bin/google_guest_compat_manager |
C:\Program Files\Google\Compute Engine\agent\GCEWindowsCompatManager.exe |
Kompatibilitätsmanager für den Metadatenskript-Ausführer | /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 von Plugins finden Sie unter Funktionen des Gast-Agents.