在 Compute Engine 上,您可以使用虚拟机管理器来管理虚拟机上运行的操作系统。
如需查看设置虚拟机以使用虚拟机管理器所需的步骤,请参阅设置概览。
设置虚拟机管理器后,您可以查看通过 OS Config API 执行的 API 操作的审核日志,请参阅查看 虚拟机管理器审核日志。
准备工作
- 查看项目的 OS Config 配额。
-
如果您尚未设置身份验证,请进行设置。 身份验证是通过其进行身份验证以访问 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 项目。您可以通过 Google Cloud 控制台完成自动启用。您可能还需要手动执行某些步骤。
手动启用:可以按虚拟机启用,也可以为整个 Google Cloud 项目启用。
- 在您的 Google Cloud 项目中,启用 OS Config API。
- 在每个虚拟机上,检查是否安装了 OS Config 代理。 如果尚未安装 OS Config 代理,请安装该代理。
- 针对您的项目或每个虚拟机,设置 OS Config 代理的实例元数据。 如需在虚拟机或项目中激活 OS Config 代理,必须执行此步骤。
- 验证所有虚拟机是否都具有附加的服务账号。您无需向此服务账号授予任何 IAM 角色。 虚拟机管理器使用此服务账号签署对 API 服务的请求。
- 如果您的虚拟机在专用 VPC 网络中运行,并且无法访问公共互联网,请启用专用 Google 访问通道。
- 如果您为虚拟机使用 HTTP 代理,请配置 HTTP 代理。
- 可选。针对您的项目或每个虚拟机,停用不需要的功能。
- 在 Google Cloud 项目上启用 OS Config Service API
- 在 Google Cloud 项目中安装了该代理的所有虚拟机上激活该代理
- 使用终端手动安装代理。
- 在虚拟机上使用启动脚本。
- 使用 Google Cloud Observability 代理政策在多个虚拟机上自动安装 OS Config。
安装 OS Config 代理。
Windows Server
如需在 Windows Server 上安装 OS Config 代理,请运行以下命令:
googet -noconfirm install google-osconfig-agent
Ubuntu
如需在 Ubuntu 虚拟机上安装 OS Config 代理,请运行以下命令:
设置 Ubuntu 代码库。
对于 Ubuntu 20.04 及更高版本,请运行以下命令:
添加 Ubuntu 代码库。
sudo su -c "echo 'deb http://packages.cloud.google.com/apt google-compute-engine-focal-stable main' > \ /etc/apt/sources.list.d/google-compute-engine.list"
导入 Google Cloud 公钥。
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \ sudo apt-key add -
对于 Ubuntu 18.04 及更高版本,请运行以下命令:
添加 Ubuntu 代码库。
sudo su -c "echo 'deb http://packages.cloud.google.com/apt google-compute-engine-bionic-stable main' > \ /etc/apt/sources.list.d/google-compute-engine.list"
导入 Google Cloud 公钥。
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \ sudo apt-key add -
对于 Ubuntu 16.04,请运行以下命令:
添加 Ubuntu 代码库。
sudo su -c "echo 'deb http://packages.cloud.google.com/apt google-compute-engine-xenial-stable main'> \ /etc/apt/sources.list.d/google-compute-engine.list"
导入 Google Cloud 公钥。
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \ sudo apt-key add -
安装 OS Config 代理。
sudo apt update sudo apt -y install google-osconfig-agent
Debian
如需在 Debian 虚拟机上安装 OS Config 代理,请运行以下命令:
sudo apt update sudo apt -y install google-osconfig-agent
添加 Google Cloud 代码库和公钥
如果您使用的虚拟机实例并非通过 Google 提供的映像创建,或收到“unable to locate package”的错误消息,请完成下列步骤以添加 Google Cloud 代码库并导入公钥。
添加代码库并导入密钥之后,您就可以运行相应的命令来安装 OS Config 代理。
对于 Debian 9 (Stretch),请运行以下命令:
添加 Debian 代码库。
sudo su -c "echo 'deb http://packages.cloud.google.com/apt \ google-compute-engine-stretch-stable main'> /etc/apt/sources.list.d/google-compute-engine.list"
导入 Google Cloud 公钥。
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \ sudo apt-key add -
对于 Debian 10 (Buster),请运行以下命令:
添加 Debian 代码库。
sudo su -c "echo 'deb http://packages.cloud.google.com/apt \ google-compute-engine-buster-stable main'> /etc/apt/sources.list.d/google-compute-engine.list"
导入 Google Cloud 公钥。
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \ sudo apt-key add -
RHEL/CentOS/Rocky
如需在 RHEL 7/8、CentOS 7/8 虚拟机或 Rocky Linux 8/9 上安装 OS Config 代理,请运行以下命令:
sudo yum -y install google-osconfig-agent
SLES/openSUSE
如需在 SLES 或 OpenSUSE 虚拟机上安装 OS Config 代理,请运行以下命令:
设置 SLES 代码库。
对于 SLES 12,请运行以下命令:
sudo su -c "cat > /etc/zypp/repos.d/google-compute-engine.repo <<EOM [google-compute-engine] name=Google Compute Engine baseurl=https://packages.cloud.google.com/yum/repos/google-compute-engine-sles12-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"
对于 SLES 15 和 OpenSUSE 15,请运行以下命令:
sudo su -c "cat > /etc/zypp/repos.d/google-compute-engine.repo <<EOM [google-compute-engine] name=Google Compute Engine baseurl=https://packages.cloud.google.com/yum/repos/google-compute-engine-sles15-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"
导入适用于 Google Cloud 的 GPG 密钥。
sudo rpm --import https://packages.cloud.google.com/yum/doc/yum-key.gpg \ --import https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
安装 OS Config 代理。
sudo zypper -n --gpg-auto-import-keys install --from google-compute-engine google-osconfig-agent
- 复制适用于您的操作系统的手动命令。
-
例如,如果您使用
gcloud compute instances create
命令创建 Debian 10 虚拟机,则您的命令类似于以下内容:gcloud compute instances create VM_NAME \ --image-family=debian-10 --image-project=debian-cloud \ --metadata startup-script='#! /bin/bash apt update apt -y install google-osconfig-agent'
将
VM_NAME
替换为虚拟机名称。 - 补丁
- 操作系统政策
- OS Inventory Management
- 对于早期版本的 OS Inventory Management,您还必须将
enable-guest-attributes
元数据值设置为TRUE
。 如果这两个元数据值均未设置,则信息中心会显示虚拟机的no data
。较高版本则不需要这样做。如需了解这两个 OS Inventory Management 版本,请参阅 OS Inventory Management 版本。
- 对于早期版本的 OS Inventory Management,您还必须将
方法 1:在项目级元数据中设置
enable-osconfig
,以将此项设置应用于项目中的所有虚拟机。在 Google Cloud 控制台中,转到元数据页面。
点击修改。
添加以下元数据条目:
键:
enable-osconfig
值:TRUE
对于早期版本的 OS Inventory Management,请同时设置
enable-osconfig
和enable-guest-attributes
:- 键:
enable-osconfig
值:TRUE
- 键:
enable-guest-attributes
值:TRUE
- 键:
点击保存以应用更改。
方法 2:创建实例时,在虚拟机元数据中设置
enable-osconfig
。在 Google Cloud 控制台中,转到创建实例页面。
指定虚拟机详情。
展开高级选项部分,然后执行以下操作:
- 展开管理部分。
在元数据部分中,点击添加一项以添加以下元数据条目:
键:
enable-osconfig
值:TRUE
。对于早期版本的 OS Inventory Management,请同时设置
enable-osconfig
和enable-guest-attributes
:- 键:
enable-osconfig
值:TRUE
- 键:
enable-guest-attributes
值:TRUE
- 键:
如需创建虚拟机,请点击创建。
方法 3:在现有虚拟机的元数据中设置
enable-osconfig
。在 Google Cloud 控制台中,转到虚拟机实例页面。
点击要为其设置元数据值的虚拟机的名称。
在实例详情页面上,点击修改以修改设置。
在自定义元数据下,添加以下元数据条目:
键:
enable-osconfig
值:TRUE
。对于早期版本的 OS Inventory Management,请同时设置
enable-osconfig
和enable-guest-attributes
:- 键:
enable-osconfig
值:TRUE
- 键:
enable-guest-attributes
值:TRUE
- 键:
点击保存以将更改应用于虚拟机。
方法 1:在项目级元数据中设置
enable-osconfig
,以将此项设置应用于项目中的所有实例:gcloud compute project-info add-metadata \ --project PROJECT_ID \ --metadata=enable-osconfig=TRUE
对于早期版本的 OS Inventory Management,请同时设置
enable-osconfig
和enable-guest-attributes
:gcloud compute project-info add-metadata \ --project PROJECT_ID \ --metadata=enable-guest-attributes=TRUE,enable-osconfig=TRUE
将
PROJECT_ID
替换为您的项目 ID。方法 2:在现有实例的元数据中设置
enable-osconfig
。gcloud compute instances add-metadata VM_NAME \ --metadata=enable-osconfig=TRUE
对于早期版本的 OS Inventory Management,请同时设置
enable-osconfig
和enable-guest-attributes
:gcloud compute instances add-metadata VM_NAME \ --metadata=enable-guest-attributes=TRUE,enable-osconfig=TRUE
将
VM_NAME
替换为虚拟机名称。方法 3:创建实例时,在实例元数据中设置
enable-osconfig
。gcloud compute instances create VM_NAME \ --metadata=enable-osconfig=TRUE
对于早期版本的 OS Inventory Management,请同时设置
enable-osconfig
和enable-guest-attributes
:gcloud compute instances create VM_NAME \ --metadata=enable-guest-attributes=TRUE,enable-osconfig=TRUE
将
VM_NAME
替换为虚拟机名称。- 如需了解如何设置项目级别的元数据,请参阅设置项目级自定义元数据。
- 如需了解如何设置实例元数据,请参阅设置实例元数据。
- 键:
enable-osconfig
值:TRUE
- 键:
enable-guest-attributes
值:TRUE
- OS Inventory Management:
osinventory
- 补丁和操作系统政策:
tasks
- 操作系统客机政策(Beta 版):
guestpolicies
方法 1:在项目级别的元数据中停用功能,以将此项设置应用于项目中的所有实例。
在 Google Cloud 控制台中,转到元数据页面。
点击修改。
添加以下元数据条目:
键:
osconfig-disabled-features
值:FEATURE1,FEATURE2
例如:
键:osconfig-disabled-features
值:osinventory,guestpolicies
点击保存以应用更改。
方法 2:在现有虚拟机的元数据中停用功能。
在 Google Cloud 控制台中,转到虚拟机实例页面。
点击要设置元数据值的虚拟机的名称。
在实例详情页面上,点击修改以修改虚拟机设置。
在自定义元数据下,添加以下元数据条目:
键:
osconfig-disabled-features
值:FEATURE1,FEATURE2
例如:
键:osconfig-disabled-features
值:osinventory
点击保存以将更改应用于虚拟机。
- 如需了解如何设置项目级别的元数据,请参阅设置项目级自定义元数据。
- 如需了解如何设置实例元数据,请参阅设置实例元数据。
- 键:
osconfig-disabled-features
- 值:可以是以下任一标志或这些标志的组合:
osinventory
tasks
guestpolicies
- 必须设置虚拟机管理器。
虚拟机必须处于
RUNNING
状态,并且 OS Config 代理必须正在与 OS Config 服务通信。如果虚拟机停止、暂停或断开与网络的连接,则该虚拟机上的代理不会被视为活跃代理。
在 Google Cloud 控制台中,转到操作系统政策页面。
点击启用完整的虚拟机管理器功能以启用所有虚拟机管理器功能。
- 创建操作系统政策分配任务。
- 查看操作系统详情。
- 创建修补作业。
- 详细了解虚拟机管理器。
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。
设置概览
您可以通过以下两种方式启用虚拟机管理器:
手动
如需手动设置虚拟机管理器,请完成以下步骤:
自动
首次转到 Google Cloud 控制台中的任何虚拟机管理器页面时,您可以选择自动启用虚拟机管理器。
如果您按照引导步骤操作,则可以使用自动启用功能完成以下任务:
支持的操作系统
如需查看支持虚拟机管理器的操作系统版本的完整列表,请参阅操作系统详细信息。
启用 OS Config Service API
在您的 Google Cloud 项目中,启用 OS Config API。
控制台
在 Google Cloud 控制台中,启用 OS Config API。
gcloud
如需启用 API,请运行以下命令:
gcloud services enable osconfig.googleapis.com
检查 OS Config 代理是否已安装
OS Config 代理默认安装在版本日期为
v20200114
或之后的 CentOS、Container-Optimized OS (COS)、Debian、Red Hat Enterprise Linux (RHEL)、Rocky Linux、SLES、Ubuntu 和 Windows Server 映像上。如需了解安装了 OS Config 代理的操作系统版本,请参阅操作系统详细信息。在您启用代理元数据并启用服务 API 之前,这些代理会以空闲方式运行。Linux
如需检查您的 Linux 虚拟机是否安装了该代理,请运行以下命令:
sudo systemctl status google-osconfig-agent
如果代理已安装且正在运行,则会输出如下内容:
google-osconfig-agent.service - Google OSConfig Agent Loaded: loaded (/lib/systemd/system/google-osconfig-agent.service; enabled; vendor preset: Active: active (running) since Wed 2020-01-15 00:14:22 UTC; 6min ago Main PID: 369 (google_osconfig) Tasks: 8 (limit: 4374) Memory: 102.7M CGroup: /system.slice/google-osconfig-agent.service └─369 /usr/bin/google_osconfig_agent
如果尚未安装 OS Config 代理,请安装该代理。
Windows
如需检查您的 Windows 虚拟机是否安装了代理,请运行以下命令:
PowerShell Get-Service google_osconfig_agent
如果代理已安装且正在运行,则会输出如下内容:
Status Name DisplayName ------ ---- ----------- Running google_osconfig... Google OSConfig Agent
如果尚未安装 OS Config 代理,请安装该代理。
安装 OS Config 代理
在按照下列步骤安装代理之前,请先检查您的虚拟机上是否已运行代理。
在每个虚拟机上,安装 OS Config 代理。您可以使用下列其中一种方法安装 OS Config 代理:
手动安装代理
可使用这种方法在现有虚拟机上安装 OS Config 代理。
如需安装代理,请完成以下步骤:
使用启动脚本安装代理
您还可以使用手动安装命令创建启动脚本,并在创建虚拟机的过程中安装 OS Config 代理。
设置元数据值
您可以设置每个虚拟机上的实例元数据或适用于项目中所有虚拟机的项目元数据。
在您的 Google Cloud 项目或虚拟机上,将
enable-osconfig
元数据值设置为TRUE
。将enable-osconfig
元数据值设置为TRUE
可启用以下功能:控制台
您可以使用下列其中一种方法将元数据值应用于您的 Google Cloud 项目或虚拟机:
gcloud
使用
project-info add-metadata
或带有--metadata=enable-osconfig=TRUE
标志的instances add-metadata
命令。您可以使用下列其中一种方法将元数据值应用于项目或虚拟机:
REST
您可以在 Google Cloud 项目级层或实例级层设置元数据值。
必须在元数据属性中设置以下键值对:
对于早期版本的 OS Inventory Management,还要添加以下键值对:
配置 HTTP 代理
如果您为虚拟机使用 HTTP 代理,请运行以下命令以设置
http_proxy
和https_proxy
环境变量。您还应通过配置no_proxy
环境变量来排除元数据服务器 (169.254.169.254
),使得 OS Config 代理可以访问本地元数据服务器。Linux
在系统范围的配置文件中添加以下环境变量。例如,在 CentOS 7 中,将代理设置添加到
/etc/systemd/system.conf
文件中:http_proxy="http://PROXY_IP:PROXY_PORT" https_proxy="http://PROXY_IP:PROXY_PORT" no_proxy=169.254.169.254,metadata,metadata.google.internal # Skip proxy for the local Metadata Server.
将
PROXY_IP
和PROXY_PORT
分别替换为您的代理服务器的 IP 地址和端口号。Windows
从管理员命令提示符运行以下命令。
setx http_proxy http://PROXY_IP:PROXY_PORT /m setx https_proxy http://PROXY_IP:PROXY_PORT /m setx no_proxy 169.254.169.254,metadata,metadata.google.internal /m
将
PROXY_IP
和PROXY_PORT
分别替换为您的代理服务器的 IP 地址和端口号。Google 建议您通过添加
no_proxy
环境变量来排除*.googleapis.com
,以避免 OS Config 代理发生连接问题。如果您只想将特定虚拟机连接到 OS Config 代理,请为虚拟机所在的可用区添加前缀,并使用格式[zone-name]-osconfig.googleapis.com
。例如us-central1-f-osconfig.googleapis.com
。停用不需要的功能
对于您可能不需要的功能,可以通过设置以下元数据值来将其停用:
osconfig-disabled-features=FEATURE1,FEATURE2
。将
FEATURE1,FEATURE2
替换为以下任意值:使用以下方法之一停用元数据值。
控制台
您可以使用下列其中一种方法针对 Google Cloud 项目或虚拟机停用元数据值:
gcloud
使用
project-info add-metadata
或带有--metadata=osconfig-disabled-features
标志的instances add-metadata
gcloud
命令。如果您要停用多项功能,则标志的格式必须为
--metadata=osconfig-disabled-features=FEATURE1,FEATURE2
。请参阅示例 2。示例
示例 1 如需使用 Google Cloud CLI 在 Google Cloud 项目级层停用补丁,请运行以下命令:
gcloud compute project-info add-metadata \ --project PROJECT_ID \ --metadata=osconfig-disabled-features=tasks
示例 2 如需使用 Google Cloud CLI 在项目级层停用操作系统政策和 OS Inventory Management,请运行以下命令:
gcloud compute project-info add-metadata \ --project PROJECT_ID \ --metadata=osconfig-disabled-features=osinventory,guestpolicies
将
PROJECT_ID
替换为您的项目 ID。REST
您可以在 Google Cloud 项目级层或实例级层设置元数据值。
必须在元数据属性中设置以下键值对:
活跃 OS Config 代理的要求
要想使 OS Config 代理被视为活跃并且可计费,它必须满足以下所有要求:
验证设置
完成设置过程后,您可以验证设置。
启用完整的虚拟机管理器功能
如果您的项目中未启用虚拟机管理器,并且您在创建虚拟机期间安装 Ops Agent,则会在受限模式下启用虚拟机管理器。在此模式下,虚拟机管理器会免费提供一部分功能,虚拟机数量不受限制。例如,您可以在操作系统政策页面上查看虚拟机的操作系统政策分配,但无法创建或修改操作系统政策分配。
如需为安装了 Ops Agent 的虚拟机启用所有虚拟机管理器功能,请执行以下操作:
停用 OS Config 代理
停用 OS Config 代理不会影响虚拟机的行为。您可以按照与停止操作系统的其他服务相同的方式停用此代理。
Linux
如需使用
systemctl
停用代理,请运行以下命令:sudo systemctl stop google-osconfig-agent sudo systemctl disable google-osconfig-agent
Windows
如需使用
powershell
停用代理,请运行以下命令:PowerShell Stop-Service google_osconfig_agent [-StartupType disabled]
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-11-21。
-