为了能够在 vSphere with Tanzu 中自助使用虚拟机 用户必须有权访问虚拟机类。虚拟机类是用于定义虚拟机 CPU、内存和预留值的模板。虚拟机类可通过预测开发需求并考虑资源可用性和限制来帮助为虚拟机的策略和监管设置门槛。

vSphere with Tanzu 提供了几个默认虚拟机类。vSphere 管理员可以像现在一样使用这些类,也可以创建自定义虚拟机类。要使这些类可供 DevOps 用户使用,vSphere 管理员将其添加到命名空间中。分配给命名空间的虚拟机类可由独立虚拟机和构成 Tanzu Kubernetes Grid 集群的虚拟机使用。

vSphere with Tanzu 中创建自定义虚拟机类

作为 vSphere 管理员,您可以使用可用的默认类。此外,还可以创建非默认的自定义虚拟机类,并将其用于在命名空间中部署虚拟机。

创建新课程时,请记住以下注意事项。
  • vCenter Server 实例中创建的虚拟机类可用于所有 vCenter Server 集群以及这些集群中的所有命名空间。
  • 虚拟机类可用于 vCenter Server 中的所有命名空间。但是,DevOps 工程师只能使用与特定命名空间关联的虚拟机类。

前提条件

所需特权:
  • 命名空间.修改集群范围的配置
  • 命名空间.修改命名空间配置
  • 虚拟机类.管理虚拟机类

过程

  1. 转到虚拟机服务页面。
    1. vSphere Client 主菜单中,选择工作负载管理
    2. 单击服务选项卡,然后单击虚拟机服务窗格上的管理
  2. VM 服务页面上,单击VM 类,然后单击创建 VM 类
  3. 配置页面上,指定常规虚拟机类属性。
    虚拟机类属性 描述
    名称 标识虚拟机类。输入遵循以下要求的唯一 DNS 合规名称:
    • 使用与环境中的默认或自定义虚拟机类的名称不重复的唯一名称。
    • 使用最大长度为 63 个字符的字母数字字符串。
    • 请勿使用大写字母或空格。
    • 在除第一个或最后一个字符外的任意位置使用短划线。例如,vm-class1
    创建虚拟机类后,即无法更改其名称。
    vCPU 计数 定义虚拟机的虚拟 CPU (vCPU) 数量。这是虚拟机硬件配置。DevOps 用户向虚拟机分配虚拟机类时,此计数将成为虚拟机的配置 vCPU 数。
    CPU 资源预留 可选参数。指定保证为虚拟机分配的最少 CPU 资源。此值以百分比 (%) 表示。值为 0% 时,表示没有预留 CPU。

    输入的百分比乘以所有集群节点中可用的最小 CPU 量。得到的值(以 MHz 为单位)指定 vSphere 保证为虚拟机分配的 CPU 资源量。

    内存 定义为虚拟机配置的内存(MB、GB 或 TB)。这是虚拟机硬件配置。DevOps 用户向虚拟机分配虚拟机类策略时,虚拟机将收到此属性定义的内存量。

    该值必须介于 4 MB 和 24 TB 之间,且必须是 4 MB 的倍数。

    内存资源预留 可选参数。定义为虚拟机配置的预留内存量。该属性的值介于 0 和 100% 之间。

    如果要将 PCI 设备添加到虚拟机类配置,请将参数设置为 100%。

  4. (可选) 添加高级配置。
    选项 描述
    PCI 设备 如果 vSphere with Tanzu 环境中的 ESXi 主机具有一个或多个 NVIDIA GRID GPU 图形设备,则可以将虚拟机配置为使用 NVIDIA GRID 虚拟 GPU (vGPU) 技术。此外,还可以在 ESXi 主机上配置其他 PCI 设备,使其可用于直通模式下的虚拟机。

    如果选择此选项,则内存资源预留值将自动更改为 100%。

    有关要求和其他详细信息,请参见在 vSphere with Tanzu 中将 PCI 设备添加到虚拟机类

    实例存储 除了持久存储卷,虚拟机还可以使用实例存储。与独立于虚拟机存在的持久卷不同,实例存储卷依赖于虚拟机实例的生命周期。

    使用“实例存储”选项,可以添加适当的存储策略,并配置要在虚拟机中使用的卷。

    有关其他要求,请参见在 vSphere with Tanzu 中部署具有实例存储的虚拟机

  5. 查看并确认页面上,检查详细信息,然后单击完成

编辑或删除 vSphere with Tanzu 中的虚拟机类

创建虚拟机类后,可以编辑其参数。您还可以编辑 vSphere with Tanzu 提供的默认虚拟机类。如果不再需要现有的虚拟机类,可以将其从环境中删除。

编辑虚拟机类不会自动重新配置先前从此类部署的虚拟机。例如,如果 DevOps 用户使用虚拟机类创建了 Tanzu Kubernetes Grid 集群,而您随后更改了虚拟机类定义,则现有 Tanzu Kubernetes Grid 虚拟机不受影响。新的 Tanzu Kubernetes Grid 虚拟机将使用已修改的类定义。
小心: 如果在编辑该集群使用的虚拟机类后扩大 Tanzu Kubernetes Grid 集群,新集群节点将使用更新的类定义,但现有集群节点继续使用初始类定义,从而导致不匹配。可以扩展控制平面节点和工作线程节点。有关扩展的信息,请参见 《将 Tanzu Kubernetes Grid 2 与 vSphere with Tanzu 结合使用》中的 扩展工作负载集群

删除虚拟机类时,会将其从所有关联的命名空间中移除。DevOps 用户无法再使用此虚拟机类来实现虚拟机的自助服务。先前使用此虚拟机类创建的虚拟机不受影响。

前提条件

所需特权:
  • 命名空间.修改集群范围的配置
  • 命名空间.修改命名空间配置
  • 虚拟机类.管理虚拟机类

过程

  1. vSphere Client 中,显示可用的虚拟机类。
    1. vSphere Client 主菜单中,选择工作负载管理
    2. 单击服务选项卡,然后单击虚拟机服务窗格。
    3. VM 服务页面上,单击VM 类
      所有默认或用户创建的虚拟机类都显示在 可用虚拟机类下。
  2. 编辑或删除现有的虚拟机类。
    选项 描述
    编辑虚拟机类
    1. 在选定的虚拟机类窗格中,单击管理,然后单击编辑
    2. 修改虚拟机类参数。
      注: 无法更改虚拟机类的名称。
    删除虚拟机类
    1. 在选定的虚拟机类窗格中,单击管理,然后单击删除
    2. 确认您要删除虚拟机类。

将虚拟机类与 vSphere with Tanzu 中的命名空间关联

作为 vSphere 管理员,可以将默认或自定义虚拟机类添加到 主管 上的一个或多个命名空间。将虚拟机类添加到命名空间时,您可以将此类提供给 DevOps 用户,以便他们可以在 Kubernetes 命名空间环境中启动自助虚拟机。分配给命名空间的虚拟机类也由构成 Tanzu Kubernetes Grid 集群的虚拟机使用。

可以将多个虚拟机类添加到单个命名空间。不同的虚拟机类是不同服务级别的指示器。如果发布多个虚拟机类,DevOps 用户在命令空间中创建和管理虚拟机时可在所有自定义类和默认类之间进行选择。

注:

为了能够在新创建的命名空间中部署 Tanzu Kubernetes Grid 集群,DevOps 工程师必须有权访问虚拟机类。作为 vSphere 管理员,您必须将默认或自定义虚拟机类明确关联到任何部署了 Tanzu Kubernetes Grid 集群的新命名空间。

前提条件

所需特权:
  • 命名空间.修改集群范围的配置
  • 命名空间.修改命名空间配置
  • 虚拟机类.管理虚拟机类

过程

  1. vSphere Client 中,转到命名空间。
    1. vSphere Client 主菜单中,选择工作负载管理
    2. 单击命名空间选项卡,然后单击命名空间。
  2. 添加虚拟机类。
    1. 虚拟机服务窗格中,单击添加虚拟机类
    2. 选择一个或多个虚拟机类,然后单击确定

结果

您添加的虚拟机类可在命名空间中供 DevOps 用于自助虚拟机。这些类也可以由构成 Tanzu Kubernetes Grid 集群的虚拟机使用。

管理 vSphere with Tanzu 中命名空间上的虚拟机类

将虚拟机类与命名空间关联后,可以添加更多虚拟机类,也可以移除虚拟机类以将其从 Kubernetes 命名空间中取消发布。

前提条件

  • 如果要从命名空间移除虚拟机类,请确认 Tanzu Kubernetes Grid 未使用该虚拟机类。移除该虚拟机类可能会影响 Tanzu Kubernetes Grid 上的操作。
  • 所需特权:
    • 命名空间.修改集群范围的配置
    • 命名空间.修改命名空间配置
    • 虚拟机类.管理虚拟机类

过程

  1. vSphere Client 中,转到命名空间。
    1. vSphere Client 主菜单中,选择工作负载管理
    2. 单击命名空间选项卡,然后单击命名空间。
  2. 添加或移除虚拟机类。
    1. 虚拟机服务窗格中,单击管理 VM 类
    2. 执行以下操作之一。
      选项 描述
      移除虚拟机类 取消选择虚拟机类,然后单击确定
      添加虚拟机类 选择一个或多个虚拟机类,然后单击确定