在创建虚拟机期间安装 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 控制台中创建虚拟机时,您可以选中安装适用于 Monitoring 和 Logging 的 Ops Agent 复选框。点击创建后,虚拟机管理器会为虚拟机分配标签 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 Patchs、OS Configuration 和 OS Inventory Management。
    4. 创建虚拟机并为其分配 Ops Agent 操作系统政策标签。

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

示例

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

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

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

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

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