单租户节点


本页面介绍单租户节点。如需了解如何在单租户节点上预配虚拟机,请参阅在单租户节点上预配虚拟机

借助单独租用,您可以拥有单租户节点的独占访问权限;单租户节点是一台 Compute Engine 物理服务器,该服务器专门用于仅托管您的项目的虚拟机。使用单租户节点可以将您的虚拟机与其他项目中的虚拟机进行物理隔离,或者将您的虚拟机汇集到同一主机硬件上,如下图所示。

在单租户节点上运行的虚拟机可以使用的 Compute Engine 功能与其他虚拟机所用的相同,包括透明调度和块存储,但增加了一层硬件隔离。为了让您能够全面控制物理服务器上的虚拟机,每个单租户节点都会与支持该节点的物理服务器保持一对一的映射。

单独租用适用于特定类型的工作负载,例如,具有性能要求的游戏工作负载可能会从单独租用中受益(因为其独立存在于自己的硬件上),财务或医疗保健工作负载可能对安全性和合规性有要求,而 Windows 工作负载可能会有与许可相关的要求。

在单租户节点中,您可以在各种规模的机器类型上预配多个虚拟机,从而高效地使用专用主机硬件的底层资源。此外,由于您未与其他项目共享主机硬件,因此您可以满足需要与其他工作负载或虚拟机物理隔离的工作负载的安全性或合规性要求。如果您的工作负载仅需要暂时单独租用,您可以根据需要修改虚拟机租用

单租户节点可以帮助您满足自带许可 (BYOL)(每个核心或每个处理器都要有许可)情况下的专用硬件要求。使用单租户节点时,您可以大致了解底层硬件,从而跟踪核心和处理器使用情况。为了跟踪此类使用情况,Compute Engine 会报告安排了虚拟机的物理服务器的 ID。然后,您可以使用 Cloud Logging 查看虚拟机的服务器历史使用情况。为优化主机硬件的使用,您可以过度使用单租户虚拟机 CPU

通过可配置的维护政策,单租户节点可让您控制虚拟机在主机维护事件期间的行为。该维护政策可让您指定单租户节点上预配的虚拟机是否与特定的物理服务器保持亲和性,或者指定虚拟机是否可以在固定的一组物理服务器内移动。

节点模板

节点模板是一种区域资源,用于定义节点组中每个节点的属性。通过节点模板创建节点组时,该节点模板的属性会一成不变地复制到该节点组中的每个节点。

创建节点模板时,请指定节点类型,并且可以选择指定节点亲和性标签。您只能在节点模板上指定节点亲和性标签,不能在节点组上指定节点亲和性标签。

节点类型

配置节点模板时,请指定节点类型以应用于基于节点模板创建的节点组中的所有节点。单租户节点类型(由节点模板引用)指定了在使用该模板的节点组中创建的节点的 vCPU 核心和内存总量。例如,n2-node-80-640 节点类型具有 80 个 vCPU 和 640 GB 内存。此类型的节点可以接纳多个形状不同的虚拟机,每个虚拟机在可能不同的机器类型上运行,直到虚拟机形状的总数超过该节点的容量。

使用节点模板创建节点组时,该节点组中的每个节点都会沿用该节点模板的节点类型规范。节点类型适用于节点组中的每个单独节点(而不是整个节点组中的所有节点)。因此,如果您创建了一个节点组,其中包含两个均为 n2-node-80-640 节点类型的节点,则系统会为每个节点分配 80 个 vCPU 和 640 GB 内存。

根据您的工作负载要求,您可能会在节点中放置多个运行于各种规模的机器类型上的较小虚拟机,这些机器类型包括预定义机器类型自定义机器类型以及具有扩展内存的机器类型。如果某个节点已满载,您就无法在该节点上安排其他实例。

下表展示了所有可用的节点类型。如需查看可用于项目的节点类型列表,请运行 gcloud compute sole-tenancy node-types list 命令或 nodeTypes.list REST 请求。如需了解这些节点类型的价格,请参阅单租户节点价格

节点类型 处理器 vCPU GB vCPU:GB 套接字 核心:套接字 总核心数
c2-node-60-240 Cascade Lake 60 240 1:4 2 18 36
m1-node-96-1433 Skylake 96 1433 1:14.9 2 28 56
n1-node-96-624 Skylake 96 624 1:6.5 2 28 56
n2-node-80-640 Cascade Lake 80 640 1:8 2 24 48
n2d-node-224-896 AMD EPYC Rome 224 896 1:4 2 64 128

所有节点都让您可以安排不同形状的虚拟机。n 类型的节点是通用节点,您可以在这些节点上安排自定义机器类型实例。如需有关选择哪种节点类型的建议,请参阅针对机器类型的建议。如需了解性能,请参阅 CPU 平台

Compute Engine 有时可能会将较旧的节点类型替换为较新的节点类型。如果 Compute Engine 替换了节点类型,则您无法基于指定节点类型已被替换的的模板创建新的节点组。Compute Engine 替换了节点类型后,您必须检查并修改指定节点类型不再可用的任何现有节点模板。

节点组和虚拟机预配

单租户节点模板定义了节点组的属性;在 Google Cloud 地区中创建节点组之前,您必须先创建节点模板。创建节点组时,请为节点组上的虚拟机实例指定维护政策,并为节点组指定节点数。一个节点组可以有零个或更多节点;例如,如果您不需要在某个节点组中的节点上运行任何虚拟机实例,则可以将该节点组中的节点数量减少到零,或者您可以启用节点组自动扩缩程序来自动管理该节点组的大小。

在单租户节点上预配虚拟机之前,您必须先创建单租户节点组。节点组是特定地区中的同类单租户节点集合。节点组可以包含在各种规模的机器类型(只要机器类型具有 2 个或更多 vCPU 即可)上运行的多个虚拟机。

创建节点组时,请启用自动扩缩功能,以便自动调整节点组的大小以满足工作负载的需求。如果工作负载需求固定不变,则您可以手动指定节点组的大小。

创建节点组后,您可以在该节点组或该节点组中的特定节点上预配虚拟机。如需进一步加强控制,请使用节点亲和性标签在具有匹配的亲和性标签的任何节点上安排虚拟机。

在节点组上预配虚拟机并选择性地分配亲和性标签(以便在特定节点组或节点上预配虚拟机)后,请考虑为资源添加标签以帮助管理虚拟机。标签是键值对,可帮助您对虚拟机进行分类,以便您出于结算等原因汇总查看这些虚拟机。例如,您可以使用标签来标记虚拟机的角色、其租用、许可类型或其位置。

维护政策

根据您的许可场景和工作负载,您可能希望限制虚拟机使用的物理核心数量。您选择的维护政策可能取决于某些因素(例如您的许可或合规性要求),或者您可能希望选择允许您对物理服务器的使用进行限制的政策。对于所有这些维护政策,您的虚拟机都会保留在专用硬件上。

单租户节点上安排虚拟机时,您可以从以下三项不同的维护政策中进行选择,以便确定 Compute Engine 在主机维护事件期间(大约每 4 到 6 周进行一次)如何以及是否实时迁移虚拟机。在维护期间,Compute Engine 会将主机上的所有虚拟机作为一个组实时迁移到其他单租户节点,但在某些情况下,Compute Engine 可能会将虚拟机分成较小的组,并实时迁移每个较小的虚拟机组来分隔单租户节点。

  • 默认:这是默认维护政策,使用此政策配置的节点组上的虚拟机遵循非单租户虚拟机的传统维护行为。也就是说,根据虚拟机主机的主机维护时设置,虚拟机会在主机维护事件发生之前实时迁移到节点组中的新单租户节点,并且此新单租户节点将仅运行客户的虚拟机。此外:

    • 此政策最适合需要在维护事件期间进行实时迁移的基于用户或基于设备的许可。此设置不会将虚拟机迁移限制在固定的一组物理服务器内,我们建议您将此设置用于对物理服务器没有要求并且不需要现有许可的常规工作负载。

    • 由于使用此政策时虚拟机会实时迁移到任何服务器而不考虑现有服务器亲和性,因此此政策不适合在维护事件期间需要最大限度减少物理核心使用量的场景。

  • 就地重新启动:使用此维护政策时,Compute Engine 会在维护事件期间终结虚拟机,然后在维护事件完成后在同一物理服务器上重启虚拟机。使用此政策时,您必须将虚拟机的主机维护时设置设为 TERMINATE。此外:

    • 此政策最适合以下情况:具有容错性并且在主机维护事件期间可能遇到大约一小时停机的工作负载、必须保留在同一物理服务器上的工作负载、不需要实时迁移的工作负载,或者您的许可基于物理核心或处理器的数量。

    • 使用此政策时,您只能为实例分配 node-group-name 亲和性标签,您可以直接指定该标签,也可以通过使用节点组的名称在节点组上安排虚拟机。

  • 在节点组中迁移:使用此维护政策时,Compute Engine 会在维护事件期间实时迁移固定大小物理服务器组中的虚拟机,这有助于限制虚拟机使用的唯一物理服务器的数量。此外:

    • 此政策最适合具备基于物理核心或处理器数量的许可的高可用性工作负载,原因是使用此维护政策时,节点组中的每个单租户节点都会固定到固定的一组物理服务器,这与允许虚拟机迁移到任何服务器的默认政策不同。

    • 为了确保实时迁移的容量,Compute Engine 会在您预配的每 20 个节点中预留 1 个节点。

    • 使用此政策时,您只能为实例分配 node-group-name 亲和性标签,您可以直接指定该标签,也可以通过使用节点组的名称在节点组上安排虚拟机。

计划外维护

在硬件发生严重故障的极少数情况下,Compute Engine 会执行以下操作:

  1. 停用物理服务器及其唯一标识符。

  2. 撤消项目对物理服务器的访问权限。

  3. 将发生故障的硬件替换为具有新的唯一标识符的新物理服务器。

  4. 将虚拟机从发生故障的硬件移动到替换节点。

  5. 如果您将受影响的虚拟机配置为自动重启,则重启这些虚拟机。

节点亲和性和反亲和性

单租户节点可以确保您的虚拟机不会与其他项目的虚拟机共享主机硬件。不过,您可能仍希望将多个工作负载汇集到同一单租户节点上,或者将您的工作负载彼此隔离到不同节点上。例如,为了帮助满足某些合规性要求,您可能需要使用亲和性标签将敏感工作负载与非敏感工作负载隔开。

创建虚拟机时,您可以通过指定节点亲和性或反亲和性来请求单独租用,并引用一个或多个节点亲和性标签。您可以在创建节点模板时指定自定义节点亲和性标签;Compute Engine 会自动在每个节点上添加一些默认的亲和性标签。通过在创建虚拟机时指定亲和性,您可以在一个节点组中的一个特定节点或多个节点上一起安排多个虚拟机。通过在创建虚拟机时指定反亲和性,您可以确保某些虚拟机不会一起安排在一个节点组中的同一节点或多个节点上。

节点亲和性标签是分配给节点的键值对,并且继承自节点模板。借助亲和性标签,您可以:

  • 控制系统将各个虚拟机实例分配给节点的方式。
  • 控制系统如何将基于模板创建的虚拟机实例(例如由托管实例组创建的虚拟机实例)分配给节点。
  • 将敏感虚拟机实例汇集到特定节点或节点组,与其他虚拟机分开。

默认亲和性标签

Compute Engine 会为每个节点分配两个默认亲和性标签:

  • 用于节点组名称的标签:
    • 键:compute.googleapis.com/node-group-name
    • 值:节点组的名称。
  • 用于节点名称的标签:
    • 键:compute.googleapis.com/node-name
    • 值:单个节点的名称。

自定义亲和性标签

您可以在创建节点模板时创建自定义节点亲和性标签。这些亲和性标签会分配给基于节点模板创建的节点组中的所有节点。创建节点组后,您无法向该节点组中的节点添加更多自定义亲和性标签。

如需了解如何使用亲和性标签,请参阅配置节点亲和性

价格

为了帮助您最大限度地降低单租户节点的费用,Compute Engine 提供了承诺使用折扣持续使用折扣。此外,由于您已经为单租户节点的 vCPU 和内存付费,因此您不需要为单租户节点上的虚拟机支付额外费用。

可用性

单租户节点可以在部分地区使用。如需确保高可用性,请在不同地区的单租户节点上安排虚拟机。

限制

后续步骤