为单租户节点启用高级维护控制


单租户的高级维护控制可让您控制单租户节点组的计划内维护事件,并最大限度地减少与维护相关的中断。此功能仅适用于单租户节点组。如需将此功能与现有虚拟机搭配使用,您必须先将虚拟机迁移到启用了高级维护控制的单租户节点组。

单租户的高级维护控制功能可让您:

  • 提前 28 天查看为单租户节点安排的维护事件。
  • 立即触发维护或安排日后进行维护。请注意,如果您立即触发维护,维护将在您触发请求后的 6 小时内进行。

以下是创建启用高级维护控制功能的单租户节点组的过程:

  1. 为兼容的单租户节点组选择启用高级维护控制。此功能仅适用于单租户节点组。如需将此功能与现有虚拟机或单租户工作负载搭配使用,您必须先将虚拟机迁移到启用了高级维护控制的单租户节点组。

  2. 查看单租户节点即将进行的维护。单租户节点最多每 28 天维护一次。节点会安排在一个 6 小时的维护窗口内进行维护,您可以在这个维护窗口开始前 28 天查看节点的维护事件。

  3. 如果为单租户节点安排了维护,在安排的维护窗口开始之前,您可以:

    • 立即触发维护或安排日后进行维护。如果您选择立即触发维护,维护会在您触发请求后的 6 小时内进行。请注意,您选择的计划日期和时间必须早于初始维护窗口的开始时间。

    • 如果您没有立即触发维护或安排日后进行维护,则维护会在初始维护窗口提供的时间内进行。

您可以选择自动扩缩启用了高级维护控制的单租户节点组。在任何情况下,系统都会生成审核日志。

支持的机器家族

以下机器家族支持单租户节点的高级维护控制:

限制

以下是单租户的高级维护控制功能的限制:

  • 本地 SSD 和 GPU:此功能不支持本地 SSD 和 GPU。
  • 维护政策:此功能支持默认维护政策(实时迁移)。不支持其他维护政策,例如就地重启 (BYOLv1) 和节点组内迁移 (BYOLv2)。
  • 节点:此功能最多支持每个可用区每个项目 20 个节点。
  • 现有单租户节点组的高级维护控制:您无法选择为现有单租户节点组启用高级维护控制。如果要在启用了高级维护控制的单租户节点组上运行现有工作负载,您必须先创建启用了高级维护控制的新节点组,然后将工作负载迁移到该组。同样,如需停用高级维护控制,您必须将单租户节点迁移到未启用高级维护控制的单租户节点组。
  • 对当前维护政策的影响:当您选择启用此功能时,它将替换与单租户节点关联的所有现有维护窗口。

费用

在单租户节点上使用高级维护控制不会产生额外费用。

准备工作

  • 在单租户节点上供应虚拟机之前,请检查您的配额。 根据您所预留节点的数量和大小,您可能需要申请更多配额
  • 如果您尚未设置身份验证,请进行设置。身份验证是通过其进行身份验证以访问 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

    1. 安装 Google Cloud CLI,然后通过运行以下命令初始化 Google Cloud CLI:

      gcloud init
    2. Set a default region and zone.
    3. REST

      如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。

        安装 Google Cloud CLI,然后通过运行以下命令初始化 Google Cloud CLI:

        gcloud init

      如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证

在单租户节点上启用高级维护控制

单租户的高级维护控制是一项可选功能,仅适用于单租户节点组。如需将此功能与现有虚拟机或单租户工作负载搭配使用,您必须先将虚拟机迁移到启用了高级维护控制的单租户节点组。

控制台

如需启用高级维护控制,您可以在创建节点组时,在配置维护设置部分中选择选择启用单租户高级维护控制选项。如需了解详情,请参阅创建单租户节点组

gcloud

如需创建 M2 单租户节点组,请使用 gcloud compute sole-tenancy node-groups create 命令

如需创建任何其他受支持机器家族的单租户节点组,请使用 gcloud beta compute sole-tenancy node-groups create 命令

以下命令中的 --maintenance-interval=RECURRENT 标志指定该单租户节点选择启用高级维护控制。

gcloud compute sole-tenancy node-groups create NODE_GROUP_NAME \
--node-template=NODE_TEMPLATE_NAME \
--zone=NODE_GROUP_ZONE \
--target-size=NODE_GROUP_SIZE \
--maintenance-interval=RECURRENT

替换以下内容:

  • NODE_GROUP_NAME:节点组的名称。

  • NODE_TEMPLATE_NAME:用于创建此节点组的节点模板的名称。

  • NODE_GROUP_SIZE:要在组中创建的节点数。

  • NODE_GROUP_ZONE:创建节点组的可用区。此可用区必须与您用于创建节点组的节点模板位于同一区域。

REST

如需根据之前创建的节点模板创建 M2 单租户节点组,请使用 nodeGroups.insert 方法

如需根据之前为所有其他节点创建的节点模板创建单租户节点组,请使用 nodeGroups.insert 方法

以下命令中的 maintenanceInterval 参数指定该单租户节点选择启用高级维护控制。

POST https://compute.googleapis.com/compute/projects/PROJECT_ID/zones/NODE_GROUP_ZONE/nodeGroups
{
"name": "NODE_GROUP_NAME",
"nodeTemplate": "NODE_TEMPLATE_URL",
"zone": "NODE_GROUP_ZONE",
"size": "NODE_GROUP_SIZE",
"maintenanceInterval": "RECURRENT"
}

替换以下内容:

  • PROJECT_ID:节点组所在项目的名称。

  • NODE_GROUP_ZONE:节点组的可用区。

  • NODE_GROUP_NAME:节点组的名称。

  • NODE_TEMPLATE_URL:用于创建此节点组的节点模板的网址。

  • NODE_GROUP_SIZE:要在组中创建的节点数。

节点级层标志会替换之前分配的任何虚拟机标志。因此,选择启用高级维护控制会替换任何之前的维护标志。

查看即将进行的维护

单租户节点最多每 28 天维护一次。节点会安排在一个 6 小时的维护窗口内进行维护,您可以在这个维护窗口开始前 28 天查看节点的维护事件。

控制台

为单租户节点组选择启用高级维护控制后,您可通过以下方式查看即将进行的维护活动:

  1. 在 Google Cloud 控制台中,转到单租户节点页面。

    打开“单租户节点”

  2. 点击节点组查看单租户节点组列表。

  3. 对于任何单租户节点组,您可以在表格的维护状态维护时间列中查看即将进行的维护。由于维护是在节点级层设置的,因此您在此处看到的维护信息是为节点组中任何节点安排的下一次维护。

  4. 如需查看单租户节点组中每个节点的维护信息,请点击节点组的名称以打开详情页面。对于节点组中的每个节点,表中的维护状态维护时间列显示即将进行的维护的信息。

gcloud

如需列出 M2 单租户节点组的节点及其维护信息,请使用 gcloud compute sole-tenancy node-groups list-nodes 命令

gcloud compute sole-tenancy node-groups list-nodes NODE_GROUP_NAME \
--format "table(name, status, node_type, instances, server_id, upcoming_maintenance)"

NODE_GROUP_NAME 替换为该节点组的名称。

REST

如需列出 M2 单租户节点组的节点及其维护信息,请使用 nodeGroups.listNodes 方法

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/NODE_GROUP_ZONE/nodeGroups/NODE_GROUP_ID/listNodes

请替换以下内容:

  • PROJECT_ID:节点组所在项目的名称。

  • NODE_GROUP_ZONE:节点组的可用区。

  • NODE_GROUP_ID:节点组的 ID。

以下是 nodeGroups.listNodes 方法的响应:

{
  …
  "items": [
    …
    {
      "name": string,
      "status": string,
      …
      "upcomingMaintenance": {
        "canReschedule": boolean,
        "maintenanceType": enum, // SCHEDULED | UNSCHEDULED
        "windowStartTime": string, // RFC 3339 timestamp string
        "windowEndTime": string, // RFC 3339 timestamp string
        "latestWindowStartTime": string, // RFC 3339 timestamp string
        "maintenanceStatus": enum // PENDING | ONGOING
      },
      …
    },
    …
  ],
  …
}

以下是节点组的维护事件的详细信息:

参数名称 说明
windowStartTime 维护窗口的开始时间。
windowEndTime 维护窗口的结束时间。
latestWindowStartTime 初始维护窗口的开始时间。您可以选择立即触发维护,也可以安排日后进行维护,但必须在 latestWindowStartTime 之前。
maintenanceType 将执行的维护类型:
- 已安排:已为此节点安排维护。
- 未安排:维护包含重要更新,仅在短时间内通知。
canReschedule 是否可以重新安排维护。
maintenanceStatus 当前维护操作的状态:
- 等待中:维护操作尚未开始,但已安排。
- 正在进行:维护窗口已开始。

如果没有看到任何维护事件,则表示节点组中的任何节点都没有即将进行的维护。

立即触发节点维护或为节点安排维护

知道单租户节点组中哪些节点已安排维护后,您可以执行以下操作之一:

  • 立即触发维护。如果您选择立即触发维护,维护会在您触发请求后的 6 小时内进行。

  • 根据您的需求安排日后进行维护。

如果您未立即触发维护或未安排日后进行维护,则维护会在初始维护窗口内进行。节点维护开始后,您便无法暂停或重新安排。

控制台

如需立即触发节点维护,请执行以下操作:

  1. 在 Google Cloud 控制台中,转到单租户节点页面。

    转到“单租户节点”

  2. 点击节点组

  3. 点击节点组的名称以打开详情页面。

  4. 选择要立即触发维护的节点,然后点击立即开始

您将看到一条确认消息,并且维护会在您触发请求后的 6 小时内进行。

如需为节点安排维护,请执行以下操作:

  1. 在 Google Cloud 控制台中,转到单租户节点页面。

    打开“单租户节点”

  2. 点击节点组查看单租户节点组列表。

  3. 点击节点组的名称以打开详情页面。

  4. 选择要安排维护的节点,然后点击安排维护

  5. 在显示的安排维护窗格中,选择您需要的维护日期和时间。请注意,您可以将节点维护安排在初始维护窗口开始时间之前的任何时间。

您将看到一条确认消息,并且维护会在触发请求后的 6 小时内进行。

gcloud

使用 gcloud compute sole-tenancy node-groups perform-maintenance 命令对 M2 单租户节点开始或安排维护。

gcloud compute sole-tenancy node-groups perform-maintenance NODE_GROUP_NAME \
--zone=NODE_GROUP_ZONE \
--nodes=NODE_NAMES \
--window-start-time=WINDOW_START_TIME

请替换以下内容:

  • NODE_GROUP_NAME:节点组的名称。

  • NODE_GROUP_ZONE:节点组的可用区。

  • NODE_NAMES:要进行维护的节点的名称。

  • WINDOW_START_TIME:维护的开始日期和时间。如果您希望尽快开始维护,请省略此标志。

REST

使用 nodeGroups.performMaintenance 方法对 M2 单租户节点开始或安排维护。

POST
https://compute.googleapis.com/compute/projects/PROJECT_ID/zones/NODE_GROUP_ZONE/nodeGroups/NODE_GROUP_ID/performMaintenance
{
"nodes": "NODE_NAMES" // [Required] The user needs to list at least 1 node
"windowStartTime":  "WINDOW_START_TIME" // [Optional] RFC 3339 timestamp string
}

请替换以下内容:

  • PROJECT_ID:节点组所在项目的名称。

  • NODE_GROUP_ZONE:节点组的可用区。

  • NODE_GROUP_ID:节点组的 ID。

  • NODE_NAMES:要进行维护的节点的名称。

  • WINDOW_START_TIME:维护的开始日期和时间。如果您希望尽快开始维护,请省略此字段。

节点的维护状态字段会在维护过程中显示以下状态:

  • 等待中:维护操作尚未开始,但已安排。
  • 正在进行:维护窗口已开始。在节点维护成功完成之前,维护事件将一直保持正在进行状态。

检查维护是否已完成

如需查询 M2 节点的维护状态,请使用 gcloud compute sole-tenancy node-groups list-nodes 命令nodeGroups.listNodes 方法

如需了解详情,请参阅检查维护状态

  • 维护成功:如果单租户节点的维护成功,则维护通知会被移除。当您查询节点组名称时,节点的 upcomingMaintenance 部分将不再存在。
  • 维护失败:如果维护未能在 6 小时窗口内完成,则维护事件将保持正在进行状态,直到节点维护成功完成。成功完成后,维护通知会被移除。

有时候,如果您选择的维护触发请求日期和时间超出了 Google Cloud 对单租户节点的高级维护控制的内部限制,请求可能会被拒绝。在这种情况下,您必须为节点维护选择其他日期和时间。此节点的维护状态将为正在进行并一直保持,直到维护成功完成。

更改安排的维护日期和时间

您可以使用与触发或安排节点维护相同的过程来修改为单租户节点安排的维护日期和时间。