本页面介绍如何为 Compute Engine 上运行自定义映像的虚拟机 (VM) 实例手动安装客机环境。
在大多数情况下,如果您使用的是通过 Google 提供的公共映像创建的虚拟机,则无需安装客机环境。如需了解何时使用客机环境,请参阅何时手动安装或更新客机环境。
在手动安装客机环境之前,请先按照验证客机环境流程来检查您的实例上是否已在运行客机环境。如果客机环境在您的虚拟机上可用,但已过时,请更新客机环境。
准备工作
-
如果您尚未设置身份验证,请进行设置。身份验证是通过其进行身份验证以访问 Google Cloud 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以选择以下任一选项向 Compute Engine 进行身份验证:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
导入工具。此为推荐选项。但请注意,导入工具不仅会安装客机环境,还会在映像上执行其他配置更新,例如配置网络、配置引导加载程序和安装 Google Cloud CLI。如需了解如何使用导入工具,请参阅使映像可启动。
导入工具支持各种操作系统和版本。如需了解详情,请参阅操作系统详细信息。
手动安装。请按以下方式之一操作:
- 使用 SSH 或 RDP 连接到您的实例,并就地安装访客环境。
- 克隆启动磁盘并使用启动脚本安装访客环境。
- 确保您的操作系统版本受支持。
确定 CentOS/RHEL/Rocky Linux 的版本,并创建源代码库文件
/etc/yum.repos.d/google-cloud.repo
:eval $(grep VERSION_ID /etc/os-release) sudo tee /etc/yum.repos.d/google-cloud.repo << EOM [google-compute-engine] name=Google Compute Engine baseurl=https://packages.cloud.google.com/yum/repos/google-compute-engine-el${VERSION_ID/.*}-x86_64-stable enabled=1 gpgcheck=1 repo_gpgcheck=0 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOM
更新软件包列表:
sudo yum makecache sudo yum updateinfo
安装访客环境软件包:
sudo yum install -y google-compute-engine google-osconfig-agent
验证您可以通过 SSH 连接到实例。
- 确保您的操作系统版本受支持。
安装存储库 GPG 公钥:
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
确定 Debian 发行版的名称,并创建源列表文件
/etc/apt/sources.list.d/google-cloud.list
:eval $(grep VERSION_CODENAME /etc/os-release) sudo tee /etc/apt/sources.list.d/google-cloud.list << EOM deb http://packages.cloud.google.com/apt google-compute-engine-${VERSION_CODENAME}-stable main deb http://packages.cloud.google.com/apt google-cloud-packages-archive-keyring-${VERSION_CODENAME} main EOM
更新软件包列表:
sudo apt update
安装访客环境软件包:
sudo apt install -y google-cloud-packages-archive-keyring sudo apt install -y google-compute-engine google-osconfig-agent
验证您可以通过 SSH 连接到实例。
确保您的操作系统版本受支持。
启用 Universe 存储库。 Canonical 会将其访客环境软件包发布到 Universe 存储库。
sudo apt-add-repository universe
更新软件包列表:
sudo apt update
安装访客环境软件包:
sudo apt install -y google-compute-engine google-osconfig-agent
验证您可以通过 SSH 连接到实例。
确保您的操作系统版本受支持。
激活公有云模块。
product=$(sudo SUSEConnect --list-extensions | grep -o "sle-module-public-cloud.*") [[ -n "$product" ]] && sudo SUSEConnect -p "$product"
更新软件包列表:
sudo zypper refresh
安装访客环境软件包:
sudo zypper install -y google-guest-{agent,configs,oslogin} \ google-osconfig-agent sudo systemctl enable /usr/lib/systemd/system/google-*
验证您可以通过 SSH 连接到实例。
下载并安装
GooGet
。[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; Invoke-WebRequest https://github.com/google/googet/releases/download/v2.18.3/googet.exe -OutFile $env:temp\googet.exe; & "$env:temp\googet.exe" -root C:\ProgramData\GooGet -noconfirm install -sources ` https://packages.cloud.google.com/yuck/repos/google-compute-engine-stable googet; Remove-Item "$env:temp\googet.exe"
安装期间,
GooGet
会将内容添加到系统环境中。安装完成后,启动新的 PowerShell 控制台或提供googet.exe
文件的完整路径 (C:\ProgramData\GooGet\googet.exe)。打开新控制台并添加
google-compute-engine-stable
存储库。googet addrepo google-compute-engine-stable https://packages.cloud.google.com/yuck/repos/google-compute-engine-stable
安装核心 Windows 访客环境软件包。
googet -noconfirm install google-compute-engine-windows ` google-compute-engine-sysprep google-compute-engine-metadata-scripts ` google-compute-engine-vss google-osconfig-agent
安装可选的 Windows 访客环境软件包。
googet -noconfirm install google-compute-engine-auto-updater
使用
googet
命令。要查看可用软件包,请运行
googet available
命令。要查看已安装的软件包,请运行
googet installed
命令。要更新为最新的软件包版本,请运行
googet update
命令。要查看其他命令,请运行
googet help
。确保您的操作系统版本受支持。
创建一个新实例作为救援实例。将此实例命名为 rescue。此救援实例不需要运行与有问题的实例相同的 Linux 操作系统。此示例在救援实例上使用 Debian 9。
停止有问题的实例并创建其启动磁盘的副本。
为有问题的实例设置一个变量名称。这样会更便于在后续步骤中引用该实例。
export PROB_INSTANCE_NAME=VM_NAME
将 VM_NAME 替换为有问题的实例的名称。
停止有问题的实例。
gcloud compute instances stop "$PROB_INSTANCE_NAME"
获取有问题的实例的启动磁盘名称。
export PROB_INSTANCE_DISK="$(gcloud compute instances describe \ "$PROB_INSTANCE_NAME" --format='json' | jq -r \ '.disks[] | select(.boot == true) | .source')"
创建启动磁盘的快照。
export DISK_SNAPSHOT="${PROB_INSTANCE_NAME}-snapshot" gcloud compute disks snapshot "$PROB_INSTANCE_DISK" \ --snapshot-names "$DISK_SNAPSHOT"
根据该快照创建一个新的磁盘。
export NEW_DISK="${PROB_INSTANCE_NAME}-new-disk" gcloud compute disks create "$NEW_DISK" \ --source-snapshot="$DISK_SNAPSHOT"
删除该快照:
gcloud compute snapshots delete "$DISK_SNAPSHOT"
将新磁盘挂接到救援实例上并装载救援实例的根卷。由于此过程仅挂接一个额外磁盘,因此新磁盘的设备标识符为 /dev/sdb。CentOS/RHEL/Rocky Linux 默认使用磁盘上的第一个卷作为根卷,因此卷标识符应为 /dev/sdb1。对于自定义的情况,请使用
lsblk
确定卷标识符。gcloud compute instances attach-disk rescue --disk "$NEW_DISK"
-
gcloud compute ssh rescue
在救援实例上执行以下步骤。
装载新磁盘的根卷。
export NEW_DISK_MOUNT_POINT="/tmp/sdb-root-vol" DEV="/dev/sdb1" sudo mkdir "$NEW_DISK_MOUNT_POINT" sudo mount -o nouuid "$DEV" "$NEW_DISK_MOUNT_POINT"
创建
rc.local
脚本。cat <<'EOF' >/tmp/rc.local #!/bin/bash echo "== Installing Google guest environment for CentOS/RHEL/Rocky Linux ==" sleep 30 # Wait for network. echo "Determining CentOS/RHEL/Rocky Linux version..." eval $(grep VERSION_ID /etc/os-release) if [[ -z $VERSION_ID ]]; then echo "ERROR: Could not determine version of CentOS/RHEL/Rocky Linux." exit 1 fi echo "Updating repo file..." tee "/etc/yum.repos.d/google-cloud.repo" << EOM [google-compute-engine] name=Google Compute Engine baseurl=https://packages.cloud.google.com/yum/repos/google-compute-engine-el${VERSION_ID/.*}-x86_64-stable enabled=1 gpgcheck=1 repo_gpgcheck=0 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOM echo "Running yum makecache..." yum makecache echo "Running yum updateinfo..." yum updateinfo echo "Running yum install google-compute-engine..." yum install -y google-compute-engine rpm -q google-compute-engine if [[ $? -ne 0 ]]; then echo "ERROR: Failed to install ${pkg}." fi echo "Removing this rc.local script." rm /etc/rc.d/rc.local # Move back any previous rc.local: if [[ -f "/etc/moved-rc.local" ]]; then echo "Restoring a previous rc.local script." mv "/etc/moved-rc.local" "/etc/rc.d/rc.local" fi echo "Restarting the instance..." reboot EOF
将此
rc.local
脚本移至新磁盘的根卷并设置权限。请将任何现有的rc.local
脚本转移到别处。临时脚本会在完成运行时将其替换掉。if [ -f "$NEW_DISK_MOUNT_POINT/etc/rc.d/rc.local" ]; then sudo mv "$NEW_DISK_MOUNT_POINT/etc/rc.d/rc.local" \ "$NEW_DISK_MOUNT_POINT/etc/moved-rc.local" fi sudo mv /tmp/rc.local "$NEW_DISK_MOUNT_POINT/etc/rc.d/rc.local" sudo chmod 0755 "$NEW_DISK_MOUNT_POINT/etc/rc.d/rc.local" sudo chown root:root "$NEW_DISK_MOUNT_POINT/etc/rc.d/rc.local"
卸载新磁盘的根卷。
sudo umount "$NEW_DISK_MOUNT_POINT" && sudo rmdir \ "$NEW_DISK_MOUNT_POINT"
退出与救援实例之间的 SSH 会话。
将新磁盘与救援实例分离。
gcloud compute instances detach-disk rescue --disk "$NEW_DISK"
创建一个实例以用作替换实例。在创建替换实例时,请将新磁盘指定为启动磁盘。您可以使用 Google Cloud Console 创建替换实例:
在 Google Cloud Console 中,转到虚拟机实例页面。
点击有问题的实例,然后点击创建类似的虚拟机实例。
指定替换实例的名称。在启动磁盘部分中,点击更改,然后点击现有磁盘。选择前面步骤中创建的新磁盘。
点击创建。替换实例会在创建后自动启动。
当替换实例启动时,临时
rc.local
脚本会运行并安装客机环境。如需查看此脚本的运行进度,请检查控制台日志中由临时rc.local
脚本生成的日志行。如需查看日志,请运行以下命令:gcloud compute instances get-serial-port-output REPLACEMENT_VM_NAME
将 REPLACEMENT_VM_NAME 替换为您分配给替换实例的名称。
临时
rc.local
脚本运行完毕后,替换实例也会自动重新启动。在第二次重新启动期间,您可以检查控制台日志以确保加载客机环境。验证您可以通过 SSH 连接到实例。
确保您的操作系统版本受支持。
创建一个新实例作为救援实例。将此实例命名为 rescue。此救援实例不需要运行与有问题的实例相同的 Linux 操作系统。此示例在救援实例上使用 Debian 9。
停止有问题的实例并创建其启动磁盘的副本。
为有问题的实例设置一个变量名称。这样会更便于在后续步骤中引用该实例。
export PROB_INSTANCE_NAME=VM_NAME
将 VM_NAME 替换为有问题的实例的名称。
停止有问题的实例。
gcloud compute instances stop "$PROB_INSTANCE_NAME"
获取有问题的实例的启动磁盘名称。
export PROB_INSTANCE_DISK="$(gcloud compute instances describe \ "$PROB_INSTANCE_NAME" --format='json' | jq -r \ '.disks[] | select(.boot == true) | .source')"
创建启动磁盘的快照。
export DISK_SNAPSHOT="${PROB_INSTANCE_NAME}-snapshot" gcloud compute disks snapshot "$PROB_INSTANCE_DISK" \ --snapshot-names "$DISK_SNAPSHOT"
根据该快照创建一个新的磁盘。
export NEW_DISK="${PROB_INSTANCE_NAME}-new-disk" gcloud compute disks create "$NEW_DISK" \ --source-snapshot="$DISK_SNAPSHOT"
删除该快照:
gcloud compute snapshots delete "$DISK_SNAPSHOT"
将新磁盘挂接到救援实例上并装载救援实例的根卷。由于此过程仅挂接一个额外磁盘,因此新磁盘的设备标识符为 /dev/sdb。Debian 默认使用磁盘上的第一个卷作为根卷,因此卷标识符应为 /dev/sdb1。对于自定义的情况,请使用
lsblk
确定卷标识符。gcloud compute instances attach-disk rescue --disk "$NEW_DISK"
-
gcloud compute ssh rescue
在救援实例上执行以下步骤。
装载新磁盘的根卷。
export NEW_DISK_MOUNT_POINT="/tmp/sdb-root-vol" DEV="/dev/sdb1" sudo mkdir "$NEW_DISK_MOUNT_POINT" sudo mount "$DEV" "$NEW_DISK_MOUNT_POINT"
创建
rc.local
脚本。cat <<'EOF' >/tmp/rc.local #!/bin/bash echo "== Installing Google guest environment for Debian ==" export DEBIAN_FRONTEND=noninteractive sleep 30 # Wait for network. echo "Determining Debian version..." eval $(grep VERSION_CODENAME /etc/os-release) if [[ -z $VERSION_CODENAME ]]; then echo "ERROR: Could not determine Debian version." exit 1 fi echo "Adding GPG key for Google cloud repo." curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - echo "Updating repo file..." tee "/etc/apt/sources.list.d/google-cloud.list" << EOM deb http://packages.cloud.google.com/apt google-compute-engine-${VERSION_CODENAME}-stable main deb http://packages.cloud.google.com/apt google-cloud-packages-archive-keyring-${VERSION_CODENAME} main EOM echo "Running apt update..." apt update echo "Installing packages..." for pkg in google-cloud-packages-archive-keyring google-compute-engine; do echo "Running apt install ${pkg}..." apt install -y ${pkg} if [[ $? -ne 0 ]]; then echo "ERROR: Failed to install ${pkg}." fi done echo "Removing this rc.local script." rm /etc/rc.local # Move back any previous rc.local: if [[ -f "/etc/moved-rc.local" ]]; then echo "Restoring a previous rc.local script." mv "/etc/moved-rc.local" "/etc/rc.local" fi echo "Restarting the instance..." reboot EOF
将此
rc.local
脚本移至新磁盘的根卷并设置权限。请将任何现有的rc.local
脚本转移到别处。临时脚本会在完成运行时将其替换掉。if [[ -f "$NEW_DISK_MOUNT_POINT/etc/rc.local" ]]; then sudo mv "$NEW_DISK_MOUNT_POINT/etc/rc.local" \ "$NEW_DISK_MOUNT_POINT/etc/moved-rc.local" fi sudo mv /tmp/rc.local "$NEW_DISK_MOUNT_POINT/etc/rc.local" sudo chmod 0755 "$NEW_DISK_MOUNT_POINT/etc/rc.local" sudo chown root:root "$NEW_DISK_MOUNT_POINT/etc/rc.local"
卸载新磁盘的根卷。
sudo umount "$NEW_DISK_MOUNT_POINT" && sudo rmdir "$NEW_DISK_MOUNT_POINT"
退出与救援实例之间的 SSH 会话。
将新磁盘与救援实例分离。
gcloud compute instances detach-disk rescue --disk "$NEW_DISK"
创建一个新实例作为替换实例。在创建替换实例时,请将新磁盘指定为启动磁盘。您可以使用 Google Cloud Console 创建替换实例:
在 Google Cloud Console 中,转到虚拟机实例页面。
点击有问题的实例,然后点击创建类似的虚拟机实例。
指定替换实例的名称。在启动磁盘部分中,点击更改,然后点击现有磁盘。选择前面步骤中创建的新磁盘。
点击创建。替换实例会在创建后自动启动。
当替换实例启动时,临时
rc.local
脚本会运行并安装客机环境。如需查看此脚本的运行进度,请检查控制台日志中由临时rc.local
脚本生成的日志行。如需查看日志,请运行以下命令:gcloud compute instances get-serial-port-output REPLACEMENT_VM_NAME
将 REPLACEMENT_VM_NAME 替换为您分配给替换实例的名称。
临时
rc.local
脚本运行完毕后,替换实例也会自动重新启动。在第二次重新启动期间,您可以检查控制台日志以确保加载客机环境。验证您可以通过 SSH 连接到实例。
确保您的操作系统版本受支持。
创建一个新实例作为救援实例。将此实例命名为 rescue。此救援实例不需要运行与有问题的实例相同的 Linux 操作系统。此示例在救援实例上使用 Debian 9。
停止有问题的实例并创建其启动磁盘的副本。
为有问题的实例设置一个变量名称。这样更易于在后续步骤中引用该实例。
export PROB_INSTANCE_NAME=VM_NAME
将 VM_NAME 替换为有问题的实例的名称。
停止有问题的实例。
gcloud compute instances stop "$PROB_INSTANCE_NAME"
获取有问题的实例的启动磁盘名称。
export PROB_INSTANCE_DISK="$(gcloud compute instances describe \ "$PROB_INSTANCE_NAME" --format='json' | jq -r \ '.disks[] | select(.boot == true) | .source')"
创建启动磁盘的快照。
export DISK_SNAPSHOT="${PROB_INSTANCE_NAME}-snapshot" gcloud compute disks snapshot "$PROB_INSTANCE_DISK" \ --snapshot-names "$DISK_SNAPSHOT"
根据该快照创建一个新的磁盘。
export NEW_DISK="${PROB_INSTANCE_NAME}-new-disk" gcloud compute disks create "$NEW_DISK" \ --source-snapshot="$DISK_SNAPSHOT"
删除该快照:
gcloud compute snapshots delete "$DISK_SNAPSHOT"
将新磁盘挂接到救援实例上并装载救援实例的根卷。由于此过程仅挂接一个额外磁盘,因此新磁盘的设备标识符为 /dev/sdb。Ubuntu 的默认根卷标签为 1,因此卷标识符应为 /dev/sdb1。对于自定义的情况,请使用
lsblk
确定卷标识符。gcloud compute instances attach-disk rescue --disk "$NEW_DISK"
-
gcloud compute ssh rescue
在救援实例上执行以下步骤。
装载新磁盘的根卷。
export NEW_DISK_MOUNT_POINT="/tmp/sdb-root-vol" DEV="/dev/sdb1" sudo mkdir "$NEW_DISK_MOUNT_POINT" sudo mount "$DEV" "$NEW_DISK_MOUNT_POINT"
创建
rc.local
脚本。cat <<'EOF' >/tmp/rc.local #!/bin/bash echo "== Installing a Linux guest environment for Ubuntu ==" sleep 30 # Wait for network. echo "Running apt update..." apt update echo "Installing packages..." echo "Running apt install google-compute-engine..." apt install -y google-compute-engine if [[ $? -ne 0 ]]; then echo "ERROR: Failed to install ${pkg}." fi echo "Removing this rc.local script." rm /etc/rc.local # Move back any previous rc.local: if [[ -f "/etc/moved-rc.local" ]]; then echo "Restoring a previous rc.local script." mv "/etc/moved-rc.local" "/etc/rc.local" fi echo "Restarting the instance..." reboot EOF
将此
rc.local
脚本移至新磁盘的根卷并设置权限。请将任何现有的rc.local
脚本转移到别处。临时脚本会在完成运行时将其替换掉。if [[ -f "$NEW_DISK_MOUNT_POINT/etc/rc.local" ]]; then sudo mv "$NEW_DISK_MOUNT_POINT/etc/rc.local" \ "$NEW_DISK_MOUNT_POINT/etc/moved-rc.local" fi sudo mv /tmp/rc.local "$NEW_DISK_MOUNT_POINT/etc/rc.local" sudo chmod 0755 "$NEW_DISK_MOUNT_POINT/etc/rc.local" sudo chown root:root "$NEW_DISK_MOUNT_POINT/etc/rc.local"
卸载新磁盘的根卷。
sudo umount "$NEW_DISK_MOUNT_POINT" && sudo rmdir "$NEW_DISK_MOUNT_POINT"
退出与救援实例之间的 SSH 会话。
将新磁盘与救援实例分离。
gcloud compute instances detach-disk rescue --disk "$NEW_DISK"
创建一个新实例作为替换实例。在创建替换实例时,请将新磁盘指定为启动磁盘。您可以使用 Google Cloud Console 创建替换实例:
在 Google Cloud Console 中,转到虚拟机实例页面。
点击有问题的实例,然后点击创建类似的虚拟机实例。
指定替换实例的名称。在启动磁盘部分中,点击更改,然后点击现有磁盘。选择前面步骤中创建的新磁盘。
点击创建。替换实例会在创建后自动启动。
当替换实例启动时,临时
rc.local
脚本会运行并安装客机环境。如需查看此脚本的运行进度,请检查控制台日志中由临时rc.local
脚本生成的日志行。如需查看日志,请运行以下命令:gcloud compute instances get-serial-port-output REPLACEMENT_VM_NAME
将 REPLACEMENT_VM_NAME 替换为您分配给替换实例的名称。
临时
rc.local
脚本运行完毕后,替换实例也会自动重新启动。在第二次重新启动期间,您可以检查控制台日志以确保加载客机环境。验证您可以通过 SSH 连接到实例。
安装方法
您可以通过多种方法来安装客机环境。选择下列其中一个选项:
支持的操作系统
您可以在使用处于通用版本 (GA) 生命周期或扩展支持生命周期阶段的操作系统映像版本的虚拟机上手动安装访客环境。如需查看 Compute Engine 上操作系统映像版本及其生命周期阶段的列表,请参阅操作系统详细信息。
限制
您无法手动安装或使用导入工具为 Fedora CoreOS 和 Container-Optimized 操作系统安装客机环境。如果您需要这些操作系统之一,我们建议您使用公共映像,因为访客环境包含在所有公共映像中并且是核心部分。
安装客机环境
就地安装客机环境
如果可以使用 SSH 连接到目标实例,请使用此方法安装访客环境。如果无法连接到该实例以安装访客环境,可以通过克隆相应的启动磁盘并使用启动脚本来安装访客环境。
如果您可以使用基于 SSH 密码的身份验证进行连接,则此过程对导入的映像很实用。如果您至少有一个用户账号可使用有效的基于密钥的 SSH,也可以使用此过程来重新安装客机环境。
CentOS/RHEL/Rocky
Debian
Ubuntu
SLES
Windows
在开始之前,请确保您的操作系统版本受支持。
如需安装 Windows 客机环境,请在提升权限的 PowerShell 3.0 版或更高版本提示符下运行以下命令。以下说明中的
Invoke-WebRequest
命令要求 PowerShell 版本高于 3.0。克隆启动磁盘并使用启动脚本
如果您无法连接到实例来手动安装客机环境,请按照此流程安装客机环境,其中包括可在 Google Cloud Console 或 Cloud Shell 中完成的以下步骤。
此方法仅显示适用于 Linux 发行版的过程。对于 Windows,请使用其他两种安装方法之一。
使用 Cloud Shell 运行此过程。如果您不使用 Cloud Shell,请安装
jq
命令行 JSON 处理器。您可以使用此处理器过滤 gcloud CLI 输出。Cloud Shell 预安装了jq
。CentOS/RHEL/Rocky
Debian
Ubuntu
安装客机环境
如果您收到客机环境已过时的消息,请更新您的操作系统软件包。
CentOS/RHEL/Rocky
如需更新 CentOS、RHEL 和 Rocky Linux 操作系统,请运行以下命令:
sudo yum makecache sudo yum install google-compute-engine google-compute-engine-oslogin \ google-guest-agent google-osconfig-agent
Debian
如需更新 Debian 操作系统,请运行以下命令:
sudo apt update sudo apt install google-compute-engine google-compute-engine-oslogin \ google-guest-agent google-osconfig-agent
Ubuntu
如需更新 Ubuntu 操作系统,请运行以下命令:
sudo apt update sudo apt install google-compute-engine google-compute-engine-oslogin \ google-guest-agent google-osconfig-agent
SLES
如需更新 SLES 操作系统,请运行以下命令:
sudo zypper refresh sudo zypper install google-guest-{agent,configs,oslogin} \ google-osconfig-agent
Windows
如需更新 Windows 操作系统,请运行以下命令:
googet update
验证客机环境
访客环境是否存在的判定方法如下:检查在实例启动时发送到控制台的系统日志,或者在连接到实例时列出已安装的软件包。
访客环境的预期控制台日志
下表概括了具有正常运行的客机环境的实例在启动时生成的控制台日志的预期输出。
操作系统 服务管理 预期输出 CentOS/RHEL/Rocky Linux
Debian
Ubuntu
SLES
Container-Optimized OS 89 及更高版本systemd google_guest_agent: GCE Agent Started (version YYYYMMDD.NN) google_metadata_script_runner: Starting startup scripts (version YYYYMMDD.NN) OSConfigAgent Info: OSConfig Agent (version YYYYMMDD.NN)
Container-Optimized OS 85 及更早版本 systemd Started Google Compute Engine Accounts Daemon Started Google Compute Engine Network Daemon Started Google Compute Engine Clock Skew Daemon Started Google Compute Engine Instance Setup Started Google Compute Engine Startup Scripts Started Google Compute Engine Shutdown Scripts
Windows GCEGuestAgent: GCE Agent Started (version YYYYMMDD.NN) GCEMetadataScripts: Starting startup scripts (version YYYYMMDD.NN) OSConfigAgent Info: OSConfig Agent (version YYYYMMDD.NN)
如需查看实例的控制台日志,请按照下列步骤操作。
控制台
gcloud
为访客环境加载的服务
下表概括了应加载到有正常运行的访客环境的实例上的服务。用于列出服务的命令必须在连接到实例后才能运行,因此只有当您有权访问该实例时才能执行此检查。
操作系统 列出服务的命令 预期输出 CentOS/RHEL/Rocky Linux
Debiansudo systemctl list-unit-files \ | grep google | grep enabled
google-disk-expand.service enabled google-guest-agent.service enabled google-osconfig-agent.service enabled google-shutdown-scripts.service enabled google-startup-scripts.service enabled google-oslogin-cache.timer enabled
Ubuntu sudo systemctl list-unit-files \ | grep google | grep enabled
google-guest-agent.service enabled google-osconfig-agent.service enabled google-shutdown-scripts.service enabled google-startup-scripts.service enabled google-oslogin-cache.timer enabled
Container-Optimized OS sudo systemctl list-unit-files \ | grep google
var-lib-google.mount disabled google-guest-agent.service disabled google-osconfig-agent.service disabled google-osconfig-init.service disabled google-oslogin-cache.service static google-shutdown-scripts.service disabled google-startup-scripts.service disabled var-lib-google-remount.service static google-oslogin-cache.timer disabled
SLES 12+ sudo systemctl list-unit-files \ | grep google | grep enabled
google-guest-agent.service enabled google-osconfig-agent.service enabled google-shutdown-scripts.service enabled google-startup-scripts.service enabled google-oslogin-cache.timer enabled
Windows Get-Service GCEAgent Get-ScheduledTask GCEStartup
Running GCEAgent GCEAgent \ GCEStartup Ready
为访客环境安装的软件包
下表概括了有正常运行的访客环境的实例上应安装的软件包。列出已安装软件包的命令只能在连接到实例后运行,因此您必须有权访问该实例才能执行这项检查。
操作系统 列出软件包的命令 预期输出 CentOS/RHEL/Rocky Linux rpm -qa --queryformat '%{NAME}\n' \ | grep -iE 'google|gce'
google-osconfig-agent google-compute-engine-oslogin google-guest-agent gce-disk-expand google-cloud-sdk google-compute-engine
Debian apt list --installed \ | grep -i google
gce-disk-expand google-cloud-packages-archive-keyring google-cloud-sdk google-compute-engine-oslogin google-compute-engine google-guest-agent google-osconfig-agent
Ubuntu apt list --installed \ | grep -i google
google-compute-engine-oslogin google-compute-engine google-guest-agent google-osconfig-agent
SUSE (SLES) rpm -qa --queryformat '%{NAME}\n' \ | grep -i google
google-guest-configs google-osconfig-agent google-guest-oslogin google-guest-agent
Windows googet installed
certgen googet google-compute-engine-auto-updater google-compute-engine-driver-gga google-compute-engine-driver-netkvm google-compute-engine-driver-pvpanic google-compute-engine-driver-vioscsi google-compute-engine-metadata-scripts google-compute-engine-powershell google-compute-engine-sysprep google-compute-engine-vss google-compute-engine-windows google-osconfig-agent
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-12-22。
-