在创建虚拟机期间安装 Ops Agent

本文档介绍 Google Cloud 控制台在创建虚拟机实例时如何为您自动安装 Ops Agent。在安装过程中,Compute Engine 虚拟机管理器会创建 Ops Agent 操作系统政策,用于安装代理并在必要时重新安装。虚拟机管理器可帮助您在虚拟机上运行 Ops Agent,并确保该代理始终安装。

概览

虚拟机管理器使用操作系统配置政策来管理 Ops Agent 安装。使用称为分配 ID 的映射将配置政策应用于虚拟机,如下所示:

goog-ops-agent-v2-x86-template-1-0-0-ZONE

Ops Agent 操作系统政策的分配 ID 由以下组件组成:

  • 政策的名称:“goog-ops-agent”
  • 用于创建政策的模板:“v2-x86-template”
  • 模板的版本字符串。版本号可能会随时间而变化,其值类似于“1-0-0”。
  • 分配 ID 适用的可用区,其值类似于“us-central1-a”。

使用虚拟机实例上的标签将虚拟机与分配 ID 相关联。Compute Engine 虚拟机是 gce_instance 类型的受监控的资源,包含 zone 标签。当您使用 Google Cloud 控制台创建安装了 Ops Agent 的虚拟机时,虚拟机管理器会向虚拟机添加另一个标签,类似于 goog-ops-agent-policy:v2-x86-template-1-0-0。此标签标识政策、模板和版本:

  • 标签键,政策的标识符:goog-ops-agent-policy
  • 标签值、政策模板和版本:v2-x86-template-1-0-0

在 Google Cloud 控制台中创建虚拟机时,您可以选中安装 Ops Agent for Monitoring and Logging 复选框。点击创建后,虚拟机管理器会为虚拟机分配 goog-ops-agent-policy:v2-x86-template-1-0-0 标签并安装 Ops Agent。如果该虚拟机是其可用区中的第一个虚拟机,则虚拟机管理器还会为该可用区创建 Ops Agent 操作系统政策和 Ops Agent 操作系统政策分配。

虽然区域具有 Ops Agent 操作系统政策分配,但 Ops Agent 操作系统政策会监控具有以下特征的虚拟机:

  • 虚拟机具有 goog-ops-agent-policy:v2-x86-template-1-0-0 标签。
  • 虚拟机与 Ops Agent 操作系统政策分配位于同一可用区。

Ops Agent 操作系统政策每小时检查一次其涵盖的虚拟机是否安装了 Ops Agent。如果未安装 Ops Agent,则 Ops Agent 操作系统政策会安装最新版本的代理。

创建自动安装 Ops Agent 的虚拟机

如需在创建虚拟机期间自动安装 Ops Agent,并将 Ops Agent 操作系统政策分配应用于虚拟机,请执行以下操作:

  1. 向您的 Google 账号授予角色。对以下每个 IAM 角色运行以下命令一次: roles/osconfig.osPolicyAssignmentEditor

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
    • PROJECT_ID 替换为您的项目 ID。
    • EMAIL_ADDRESS 替换为您的电子邮件地址。
    • ROLE 替换为每个角色。
  2. 按照通过公共映像创建虚拟机实例中的步骤操作。在点击创建之前,请选中为 Monitoring 和 Logging 安装 Ops Agent 复选框:

    “安装适用于 Monitoring 和 Logging 的 Ops Agent”复选框。

  3. 点击创建

    首次在某个地区中自动安装 Ops Agent 时,如果您没有为 Google Cloud 项目启用虚拟机管理器,则虚拟机创建过程将执行以下操作:

    1. 让虚拟机管理器能够在受限模式下运行。
    2. 为可用区创建 Ops Agent 操作系统政策和 Ops Agent 操作系统政策分配任务。Ops Agent 操作系统政策是政策分配的一个字段。
    3. 通过将虚拟机元数据标签 enable-osconfig 设置为 TRUE,启用操作系统补丁程序、操作系统配置和 OS Inventory Management。
    4. 创建虚拟机并为其分配 Ops Agent 操作系统政策标签。

    如果您在已存在 Ops Agent 操作系统政策分配的可用区中创建虚拟机并自动安装 Ops Agent,则虚拟机创建过程将创建该虚拟机并为其分配 Ops Agent 操作系统政策标签。

示例

您的 Google Cloud 项目没有任何 Ops Agent 操作系统政策分配。您将在 us-central1-a 可用区中创建两个虚拟机,即 instance-1 和 instance-2。instance-1instance-1然后,在 us-east1-b 可用区中创建 instance-3 和 instance-4。instance-1、instance-2 和 instance-3 在创建期间已选中安装适用于 Monitoring 和 Logging 的 Ops Agent 复选框。instance-3instance-3instance-3instance-3instance-3

  • 创建 instance-1instance-1 时,虚拟机管理器会为 us-central1-a 可用区创建 Ops Agent 操作系统政策,并创建 ID 为 goog-ops-agent-v2-x86-template-1-0-0-us-central1-a 的操作系统政策分配。然后,虚拟机管理器在 instance-1 上设置政策标签。instance-1
  • 创建 instance-2instance-2 时,虚拟机管理器会在 instance-2instance-2 上设置相同的政策标签。
  • 创建 instance-3instance-3 时,虚拟机管理器会为 us-east1-b 可用区创建 Ops Agent 操作系统政策,并且创建 ID 为 goog-ops-agent-v2-x86-template-1-0-0-us-east1-b 的操作系统政策分配。然后,虚拟机管理器将政策标签分配给 instance-3。instance-3

然后,Ops Agent 操作系统政策会根据 Ops Agent 操作系统政策分配 ID 涵盖以下虚拟机:

操作系统政策分配 ID 涵盖以下范围内的虚拟机: 涵盖的虚拟机
goog-ops-agent-v2-x86-template-1-0-0-us-central1-a us-central1-a instance-1instance-1、instance-2instance-1
goog-ops-agent-v2-x86-template-1-0-0-us-east1-b us-east1-b instance-3

默认情况下,instance-4instance-4 由于您未选择安装适用于 Monitoring 和 Logging 的 Ops Agent 而未涵盖在内,因此它没有 goog-ops-agent-policy:v2-x86-template-1-0-0 标签。如果您还希望将 Ops Agent 操作系统政策应用于 instance-4instance-4,请参阅向现有虚拟机添加 Ops Agent 操作系统政策

管理 Ops Agent 操作系统政策涵盖的虚拟机上的 Ops Agent 版本

Ops Agent 操作系统政策不会在 Ops Agent 的新版本发布时更新该代理。只要虚拟机安装了某个版本的 Ops Agent,政策就不会执行任何操作。如果您卸载 Ops Agent,则政策检测到未安装 Ops Agent,然后安装最新版本。

如需将虚拟机升级到最新版本的 Ops Agent,请卸载当前正在运行的版本,让 Ops Agent 操作系统政策安装最新版本。

如果您需要安装旧版 Ops Agent,可以在 Ops Agent 操作系统政策涵盖的虚拟机上卸载 Ops Agent,然后安装特定版本的代理

问题排查

如需了解如何排查代理安装和 Ops Agent 操作系统政策问题,请参阅管理 Ops Agent 操作系统政策涵盖的虚拟机适用于自动安装政策的代理诊断工具

价格

操作系统政策是用于安装软件包的通用工具。默认情况下,当您因为创建了自动安装 Ops Agent 的虚拟机而启用虚拟机管理器时,虚拟机管理器将以受限模式启用。如需了解虚拟机管理器模式和价格,请参阅虚拟机管理器价格

后续步骤

如需了解如何管理 Ops Agent 操作系统政策涵盖的虚拟机,请参阅管理 Ops Agent 操作系统政策涵盖的虚拟机