客机环境


本文档简要介绍了客机环境,其中包含实例需要在 Compute Engine 上运行的脚本、守护程序和二进制文件。

客机环境与元数据服务器通信,后者是与每个 Compute Engine 实例一起运行的每个实例 HTTP 服务器。元数据服务器为实例提供必要的配置和操作数据。如需详细了解存储在元数据服务器上的元数据类型,请参阅虚拟机元数据

在通过大多数 Google 提供的公共操作系统 (OS) 映像创建的 Compute Engine 实例上,客机环境会自动安装。每个操作系统映像都需要特定的客机环境软件包。这些软件包由 Google 或操作系统分发商构建。如需查看包含客户机环境的操作系统映像的完整列表,请参阅操作系统详细信息

客机环境组件

以下部分介绍了使实例能够与 Compute Engine 通信的软件包和服务。

客机代理

客机环境的核心组件是客机代理,它负责处理账号管理、OS Login 集成和网络接口管理等任务。客机代理适用于 Linux 和 Windows 操作系统,软件包名称如下:

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

如需详细了解客机代理(包括其功能、架构以及如何管理该代理),请参阅客机代理

Linux 组件

Linux 客机环境的基本组件是 debrpm 软件包。Compute Engine 会使用受支持发行版的适当配置创建这些软件包。如需查看 Linux 实例上已安装的软件包的列表,请连接到该实例,然后运行按操作系统版本列出的已安装软件包表格中为您的操作系统版本提供的命令。

Linux 客机环境包含以下关键软件包。

软件包名称 说明 关键互动 GitHub 上源代码的链接
google-guest-agent

此软件包是 Linux 环境的客机代理。

Linux 客机代理包含在客机操作系统上运行的脚本,用于支持 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 Login 管理实例访问权限所需的二进制文件、模块和脚本。借助 OS Login,您可以使用 IAM 角色来管理对实例的访问权限。如需详细了解 OS Login,请参阅 OS Login

此软件包包含以下内容:

  • 已获授权的密钥命令: 一种使用 SSH 公钥在登录时对用户进行身份验证的命令。
  • 名称服务切换 (NSS) 模块:一种向系统提供 OS Login 用户和群组信息的服务。
  • 可插入式身份验证模块 (PAM):一种提供授权(如果已启用双重支持,则还提供身份验证)支持的模块。此模块可让系统使用 Google CloudIAM 权限来控制系统能否登录实例或以 root 权限(使用 sudo)执行操作。
  • google_oslogin_nss_cache:用于更新本地用户和群组缓存的实用程序。
  • selinux: 一个包含 SELinux 政策定义文件和用于配置 SELinux 以支持 OS Login 的已编译政策软件包的软件包。
guest-oslogin
gce-disk-expand 包含调整启动磁盘大小所需的组件。 将日志发送到串行端口 gce-disk-expand
google-osconfig-agent 包含 OS Config 代理,虚拟机管理器使用该代理来管理操作系统清单、补丁和政策。如需详细了解 OS Config 代理,请参阅虚拟机管理器

虚拟机元数据执行数据读写操作

默认情况下,在您启用 OS Config 代理之前,该代理不会收集或发送任何信息。启用该代理后,它便会与 OS Config API 服务进行通信。如需查看该代理所完成的操作,请参阅虚拟机管理器审核日志记录

guest-osconfig

Windows 组件

所有 Google 提供的 Windows 操作系统映像都预先配置了 GooGet工具和 Google Cloud 代码库。GooGet 用于安装和维护 Windows 实例的客机环境。如果您需要安装 GooGet 并设置代码库,请参阅 compute-image-windows GitHub 代码库中的封装和软件包分发。如需查看 Windows 实例上已安装的软件包列表,请连接到该实例并运行 googet installed

Windows 客机环境包含以下关键软件包:

软件包名称 说明 关键互动 GitHub 上源代码的链接
google-compute-engine-windows

此软件包是 Windows 环境的客机代理。

Windows 客机代理包含在客机操作系统上运行的脚本,用于支持 Compute Engine 功能。如需详细了解客机代理(包括其功能、架构以及如何管理该代理),请参阅客机代理

guest-agent
google-compute-engine-sysprep 包含用于泛化 Windows 实例以准备创建操作系统映像的脚本。该软件包还包含 instance_setup.ps1 脚本,该脚本会在首次启动时运行,以配置新实例。
  • 虚拟机元数据执行数据读写操作
  • 将日志发送到 Windows 应用事件日志和串行端口
sysprep
google-compute-engine-metadata-scripts

包含用于运行 sysprep-specialize启动关停脚本的脚本和二进制文件。

  • 虚拟机元数据执行数据读写操作
  • 使用 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

  • 虚拟机元数据读取数据
  • 调用 GooGet 代理以将日志发送到 Windows 应用事件日志和控制台
auto_updater
google-compute-engine-diagnostics 包含一个二进制文件,该文件用于从实例收集诊断信息并将该信息保存到 Cloud Storage 存储桶。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 Config 代理,虚拟机管理器使用该代理来管理操作系统清单、补丁和政策。如需详细了解 OS Config 代理,请参阅虚拟机管理器

虚拟机元数据执行数据读写操作

默认情况下,在您启用 OS Config 代理之前,OS Config 代理不会收集或发送任何信息。启用该代理后,它便会与 OS Config API 服务进行通信。如需查看该代理所完成的操作,请参阅虚拟机管理器审核日志记录

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

后续步骤