在创建虚拟机期间安装 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. Grant roles to your user account. Run the following command once for each of the following IAM roles: roles/osconfig.osPolicyAssignmentEditor

    gcloud projects add-iam-policy-binding PROJECT_ID --member="USER_IDENTIFIER" --role=ROLE
    • Replace PROJECT_ID with your project ID.
    • Replace USER_IDENTIFIER with the identifier for your user account. For example, user:myemail@example.com.

    • Replace ROLE with each individual 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 来启用操作系统补丁、操作系统配置和操作系统清单管理。
    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 操作系统政策涵盖的虚拟机