訪客環境


本文概要說明訪客環境,其中包含執行個體在 Compute Engine 上執行時所需的指令碼、Daemon 和二進位檔。

訪客環境會與中繼資料伺服器通訊,這個伺服器是與每個 Compute Engine 執行個體一併執行的執行個體專屬 HTTP 伺服器。中繼資料伺服器會為執行個體提供必要的設定和作業資料。如要進一步瞭解中繼資料伺服器儲存的中繼資料類型,請參閱「VM 中繼資料」。

使用 Google 提供的公開作業系統 (OS) 映像檔建立 Compute Engine 執行個體時,系統會自動安裝訪客環境。每個 OS 映像檔都需要特定的訪客環境套件。這些套件是由 Google 或作業系統發行商建構。如需包含客體環境的 OS 映像檔完整清單,請參閱「作業系統詳細資料」。

訪客環境元件

以下章節說明可讓執行個體與 Compute Engine 通訊的套件和服務。

訪客代理程式

訪客環境的中央元件是訪客代理程式,可處理帳戶管理、OS Login 整合和網路介面管理等工作。訪客代理程式適用於 Linux 和 Windows 作業系統,套件名稱如下:

  • Linux:google-guest-agent
  • Windows:google-compute-engine-windows

如要進一步瞭解客體代理程式,包括其功能、架構和管理方式,請參閱「客體代理程式」。

Linux 元件

Linux 訪客環境的基本元件是 debrpm 套件。Compute Engine 會為支援的發行版本建立這些套件,並採用適當的設定。如要查看 Linux 執行個體上已安裝的套件清單,請連線至執行個體,然後在「依作業系統版本列出的已安裝套件」表格中,執行適用於您 OS 版本的指令。

Linux 訪客環境包含下列重要套件。

套件名稱 說明 主要互動 GitHub 上的原始碼連結
google-guest-agent

這個套件是 Linux 環境的訪客代理程式。

Linux 訪客代理程式包含在訪客 OS 上執行的指令碼,可支援 Compute Engine 功能。如要進一步瞭解客體代理程式,包括其功能、架構和管理方式,請參閱「客體代理程式」。

guest-agent
google-compute-engine

包含系統初始化和設定所需的指令碼和檔案。

這個套件包含下列項目:

  • systemd 的系統初始化指令碼
  • 系統設定,例如用來設定主機名稱的 udev 規則、sysctl 規則、rsyslog 設定和 dhcp 設定。
  • 在執行個體啟動期間執行的 Bash 指令碼
  • gce-resolved.conf 檔案 (於 2024 年 10 月推出),可確保 .local Cloud DNS 網域的網域查詢會轉送至中繼資料伺服器。如果沒有這個檔案,網域查詢就會透過 systemd-resolved 傳送,但這經常會失敗。

    如果您的環境未使用 .local 網域,可以移除 gce-resolved.conf 檔案,以免與現有設定衝突。

與下列套件搭配使用,可設定執行個體。
  • google-guest-agent
  • google-compute-engine-oslogin
guest-configs
google-compute-engine-oslogin 包含管理執行個體存取權所需的二進位檔、模組和指令碼,可透過 OS 登入管理執行個體存取權。OS 登入功能可讓您使用 IAM 角色管理執行個體的存取權。如要進一步瞭解 OS 登入,請參閱這篇文章

這個套件包含下列項目:

  • 授權金鑰指令: 這個指令會使用安全殼層公開金鑰,在使用者登入時進行驗證。
  • 名稱服務切換 (NSS) 模組: 這項服務會向系統提供 OS 登入使用者和群組資訊。
  • 可插式驗證模組 (PAM): 提供授權 (如已啟用雙因素驗證,也會提供驗證) 支援的模組。這個模組可讓系統使用 Google CloudIAM 權限,控管系統是否能登入執行個體,或以根使用者身分執行作業 (使用 sudo)。
  • google_oslogin_nss_cache:用於更新本機使用者和群組快取的公用程式。
  • selinux: 這個套件包含 SELinux 政策定義檔案,以及用於設定 SELinux 以支援 OS 登入的已編譯政策套件。
guest-oslogin
gce-disk-expand 包含調整開機磁碟大小所需的元件。 將記錄傳送至序列埠 gce-disk-expand
google-osconfig-agent 內含 OS 設定代理程式,VM 管理員會使用這個代理程式管理 OS 庫存、修補程式和政策。如要進一步瞭解 OS Config 代理程式,請參閱「VM 管理員」。

VM 中繼資料讀取資料並將資料寫入其中

根據預設,您必須啟用 OS Config 代理程式,代理程式才會收集或傳送任何資訊。啟用代理程式後,代理程式會與 OS 設定 API 服務通訊。如要查看代理程式完成的作業,請參閱「VM 管理員稽核記錄」。

guest-osconfig

Windows 元件

所有 Google 提供的 Windows OS 映像檔都預先設定了 GooGet 工具和 Google Cloud 存放區。GooGet 會安裝及維護 Windows 執行個體的訪客環境。如需安裝 GooGet 和設定存放區,請參閱 compute-image-windows GitHub 存放區中的「封裝及套件發布」。如要查看 Windows 執行個體上已安裝的套件清單,請連線至執行個體並執行 googet installed

Windows 訪客環境包含下列重要套件:

套件名稱 說明 主要互動 GitHub 上的原始碼連結
google-compute-engine-windows

這個套件是 Windows 環境的訪客代理程式。

Windows 訪客代理程式包含在訪客 OS 上執行的指令碼,可支援 Compute Engine 功能。如要進一步瞭解客體代理程式,包括其功能、架構和管理方式,請參閱「客體代理程式」。

  • VM 中繼資料讀取資料並將資料寫入其中
  • 將記錄檔傳送至 Windows 應用程式事件記錄檔、序列埠和 Cloud Logging
guest-agent
google-compute-engine-sysprep 內含用於一般化 Windows 執行個體的指令碼,以便建立 OS 映像檔。這個套件也包含 instance_setup.ps1 指令碼,會在首次啟動時執行,以設定新執行個體。
  • VM 中繼資料讀取資料並將資料寫入其中
  • 將記錄檔傳送至 Windows 應用程式事件記錄檔和序列埠
sysprep
google-compute-engine-metadata-scripts

包含執行 sysprep-specializestartupshutdown 指令碼的指令碼和二進位檔。

  • VM 中繼資料讀取資料並將資料寫入其中
  • 使用 sysprep-specialize-script-urlwindows-startup-script-url 時,從 Cloud Storage 位置讀取資料
  • 將記錄檔傳送至 Windows 應用程式事件記錄檔、序列埠和 Cloud Logging
google_metadata_script_runner
google-compute-engine-powershell 包含 PowerShell 模組。這個模組提供常見函式,供其他 Windows 客戶環境指令碼中的 PowerShell 指令碼使用。 將記錄檔傳送至 Windows 應用程式事件記錄檔和序列埠 PowerShell
google-compute-engine-auto-updater

內含每天更新 Compute Engine 套件的指令碼。

這個套件預設不會安裝。這種做法可讓您控管更新程序,維持環境穩定性。如果您的環境可以容許更新,不會造成中斷,您可以安裝這個套件,確保訪客環境套件會自動更新。

如要安裝這個套件,請使用下列指令: googet -noconfirm install google-compute-engine-auto-updater

  • VM 中繼資料讀取資料
  • 呼叫 GooGet 代理程式,將記錄檔傳送至 Windows 應用程式事件記錄檔和控制台
auto_updater
google-compute-engine-diagnostics 內含二進位檔,可從執行個體收集診斷資訊,並將資訊儲存至 Cloud Storage bucket。Windows 客戶端代理程式會執行二進位檔。 將資料儲存至 Cloud Storage 值區 診斷
certgen 包含可在執行個體上建立憑證的二進位檔。 certgen
GooGet 包含可安裝及維護 Windows 執行個體訪客環境的二進位檔。 從位於 packages.cloud.google.com 的存放區讀取資料 Google Cloud GooGet
google-compute-engine-vss 安裝 Compute Engine VSS 代理程式和提供者,使用 Microsoft 的磁碟區陰影複製服務 (VSS) 建立永久磁碟快照 與 Google Cloud 快照服務通訊 vss
google-osconfig-agent 內含 OS 設定代理程式,VM 管理員會使用這個代理程式管理 OS 庫存、修補程式和政策。如要進一步瞭解 OS Config 代理程式,請參閱「VM 管理員」。

VM 中繼資料讀取資料並將資料寫入其中

根據預設,您必須啟用 OS 設定代理程式,OS 設定代理程式才會收集或傳送任何資訊。啟用代理程式後,代理程式會與 OS 設定 API 服務通訊。如要查看代理程式完成的作業,請參閱 VM 管理員稽核記錄

guest-osconfig
Compute Engine 的 Windows 驅動程式

內含多個驅動程式,可確保執行個體正常運作並發揮效能。GooGet 套件管理工具會管理這些驅動程式,並將其發布至 Google Cloud 存放區。

針對 Windows 作業系統映像檔保有下列 Compute Engine 驅動程式:

驅動程式類型 驅動程式套件名稱
乙太網路轉接器 google-compute-engine-driver-netkvm
SCSI 磁碟 google-compute-engine-driver-vioscsi
螢幕轉接頭 google-compute-engine-driver-gga
當機處理常式 google-compute-engine-driver-pvpanic
Virtio 記憶體氣球驅動程式 google-compute-engine-driver-balloon
Google 虛擬 NIC google-compute-engine-driver-gvnic

如要安裝或升級特定驅動程式,請執行下列指令:

        googet install DRIVER_PACKAGE_NAME
        
compute-windows-drivers

後續步驟