通过将 Kubernetes 与 VMware Cloud Director 结合使用,可以向租户提供多租户 Kubernetes 服务。

VMware Cloud Director Container Service Extension

Kubernetes Container Clusters 是适用于 VMware Cloud DirectorVMware Cloud Director Container Service Extension 插件。要创建 Kubernetes 集群,服务提供商和租户必须使用 Kubernetes Container Clusters 插件。您可以从相关 VMware Cloud Director 版本的 VMware Cloud Director 下载页面下载最新兼容的 Kubernetes Container Clusters 插件,然后将该插件上载到 VMware Cloud Director Service Provider Admin Portal。要使租户能够创建 Kubernetes 集群,必须将插件发布到租户组织。

服务提供商和租户都必须使用 VMware Cloud Director Container Service Extension 版本 3.1 创建本机集群和 VMware Tanzu Kubernetes Grid Integrated Edition (TKGI) 集群。您必须完成 VMware Cloud Director Container Service Extension 3.1 服务器设置,并将 VMware Cloud Director Container Service Extension 本机放置策略发布到一个或多个组织 VDC。

VMware Cloud Director 中的 vSphere with Tanzu

可以使用 VMware Cloud Director 中的 vSphere with Tanzu 创建主管集群支持的提供者虚拟数据中心 (VDC)。启用了 vSphere with Tanzu 的主机集群称为主管集群。可以对资源的使用设置限制,并限制可用资源,包括每个组织、用户或组的 Kubernetes 集群数量。有关详细信息,请参见管理组织的资源消耗配额

要在 VMware Cloud Director 中使用 vSphere with Tanzu,必须先对 vSphere 7.0 或更高版本的集群启用 vSphere with Tanzu 功能,并将该集群配置为主管集群。请参见 vSphere 文档中的《vSphere with Kubernetes 配置和管理》指南。要使用的 vCenter Server 实例可以同时具有主机集群和主管集群。

要创建 Tanzu Kubernetes 集群,必须将提供者 VDC Kubernetes 策略发布到组织,并在创建过程中应用组织 VDC Kubernetes 策略。本机集群和 TKGI 集群不使用提供者和组织 VDC Kubernetes 策略。

Kubernetes 集群类型

  • 本机集群 - Kubernetes Container Clusters 插件使用本机 Kubernetes 运行时管理集群。这些集群只有一个控制平面节点,高可用性功能不强,提供的持久卷选择也较少,并且没有网络自动化。不过,成本可能较低。对于本机 Kubernetes 集群部署,必须设置 VMware Cloud Director Container Service Extension 服务器。请参见《作为服务提供商安装、配置和升级 VMware Cloud Director Container Service Extension》指南中的 VMware Cloud Director Container Service Extension 服务器主题。
  • Tanzu Kubernetes Grid(非正式名称为 TKG)- 从 VMware Cloud Director 10.3.1 开始,可以创建 Tanzu Kubernetes Grid 集群。Tanzu Kubernetes Grid 支持 VMware 强化和签名的上游兼容 Kubernetes、单个控制平面节点、基于独立磁盘的持久卷动态置备以及 L4 负载均衡器自动化。有关 Tanzu Kubernetes Grid 集群的详细信息,请参见 VMware Tanzu Kubernetes Grid 文档。
  • VMware Tanzu® Kubernetes Grid™ Service 集群(非正式名称为 TKGS)- 可以使用 vSphere with Tanzu 运行时选项创建 vSphere with Tanzu 管理的 Tanzu Kubernetes Grid Service 集群。Tanzu Kubernetes Grid Service 支持 VMware 强化和签名的上游兼容 Kubernetes、多个控制平面节点、基于第一类磁盘的持久卷动态和静态置备以及 L4 负载均衡器自动化。此选项提供更多的功能,但成本可能较高。有关详细信息,请参见 vSphere 文档中的《vSphere with Tanzu 配置和管理》指南。
  • TKGI 集群 - VMware Tanzu Kubernetes Grid Integrated Edition 是一款专门为多云企业和服务提供商实施 Kubernetes 而打造的容器解决方案。功能丰富,其中包括对 Kubernetes 集群实现高可用性、自动扩展、运行状况检查、自我修复和滚动升级。有关 TKGI 集群的详细信息,请参见 VMware Tanzu Kubernetes Grid Integrated Edition 文档。

Tanzu Kubernetes 集群创建工作流

  1. 将启用了 vSphere with Tanzu 功能的 vCenter Server 7.0 或更高版本实例添加到 VMware Cloud Director。请参见单独连接 vCenter Server 实例或将其与 NSX Manager 实例一起连接
  2. 验证每个主管集群上的网络设置,使其能够运行 Kubernetes 工作负载。
    重要说明: Ingress CIDRsServices CIDR 参数的 IP 地址范围不得与 IP 地址 10.96.0.0/12 和 192.168.0.0/16(它们是 servicespods 参数的默认 vSphere 值)重叠。请参见 《vSphere with Kubernetes 配置和管理》指南中的 Tanzu Kubernetes 集群信息的配置参数。
    注:VMware Cloud Director 10.2.2 开始,如果在初始设置后修改主管集群的网络设置,则必须刷新 vCenter Server 实例,以调整阻止从创建 Tanzu Kubernetes 集群的组织虚拟数据中心外部访问该集群的自动防火墙策略和 NAT 规则。
  3. 创建主管集群支持的提供者 VDC。请参见创建提供者虚拟数据中心

    或者,也可以将主管集群添加到现有提供者 VDC。如果您的环境为 vSphere 6.7 或更低版本,则还可以将环境升级到版本 7.0,然后对现有集群启用 vSphere with Tanzu

    在列出所有提供者 VDC 的网格中,主管集群支持的提供者 VDC 在其名称旁边显示一个 Kubernetes 图标。

  4. (可选)VMware Cloud Director 自动为主管集群支持的提供者 VDC 生成默认的提供者 VDC Kubernetes 策略。可以为 Tanzu Kubernetes 集群创建其他提供者 VDC Kubernetes 策略。请参见创建提供者 VDC Kubernetes 策略
  5. 将提供者 VDC Kubernetes 策略发布到组织 VDC(从提供者 VDC 选项卡)或添加组织 VDC Kubernetes 策略(从组织 VDC 选项卡)。
  6. Kubernetes Container Clusters 插件发布到服务提供商。请参见从组织发布或取消发布插件。如果要允许租户创建 Kubernetes 集群,必须将 Kubernetes Container Clusters 插件发布到这些组织。有关管理 VMware Cloud Director 插件的详细信息,请参见管理插件
  7. 如果要授予租户创建和管理 Tanzu Kubernetes 集群的权限,必须将 vmware:tkgcluster Entitlement 权限包发布到要使用集群的任何组织。共享权限包后,您必须将编辑:Tanzu Kubernetes 客户机集群权限添加到要创建和修改 Tanzu Kubernetes 集群的角色。如果还希望用户能够删除集群,则必须将完全控制:Tanzu Kubernetes 客户机集群权限添加到这些角色。此外,还可以将管理员权限分配给要查看组织中所有 Tanzu Kubernetes 集群的用户或者要跨站点管理集群的用户。有关运行时定义的实体 (RDE) 的权限和访问级别的信息,请参见管理定义的实体
  8. 通过创建访问控制列表 (ACL) 条目向租户或系统管理员授予访问权限。有关共享运行时定义的实体 (RDE) 的详细信息,请参见共享定义的实体
  9. 创建 Tanzu Kubernetes 集群

本机和 TKGI 集群创建工作流

  1. Kubernetes Container Clusters 插件发布到服务提供商。请参见从组织发布或取消发布插件。如果要允许租户创建 Kubernetes 集群,必须将 Kubernetes Container Clusters 插件发布到这些组织。有关管理 VMware Cloud Director 插件的详细信息,请参见管理插件
  2. 设置 VMware Cloud Director Container Service Extension 服务器,并将 VMware Cloud Director Container Service Extension 本机放置策略或 TKGI 启用元数据发布到组织 VDC。有关设置 CSE 服务器的详细信息,请参见《作为服务提供商安装、配置和升级 VMware Cloud Director Container Service Extension》指南中的 VMware Cloud Director Container Service Extension 服务器主题。
  3. 如果要授予租户创建和管理本机集群的权限,必须将 cse:nativeCluster Entitlement 权限包发布到要使用集群的任何组织。共享权限包后,您必须将 编辑 CSE:NATIVECLUSTER 权限添加到要创建和修改本机集群的角色。如果还希望用户能够删除集群,则必须将完全控制 CSE:NATIVECLUSTER 权限添加到这些角色。此外,还可以将管理员权限分配给要查看组织中所有 Tanzu Kubernetes 集群的用户或者要跨站点管理集群的用户。有关运行时定义的实体 (RDE) 的权限和访问级别的信息,请参见管理定义的实体
  4. 如果要授予租户创建和管理 TKGI 集群的权限,您必须将 {cse}:PKS DEPLOY RIGHT 发布到特定组织,然后将 {cse}:PKS DEPLOY RIGHT 权限添加到要创建和管理 TKGI 集群的角色。{cse}:PKS DEPLOY RIGHT 是在 VMware Cloud Director Container Service Extension 服务器安装期间创建的。
  5. 对于本机集群,通过创建访问控制列表 (ACL) 条目向租户或系统管理员授予访问权限。有关共享运行时定义的实体 (RDE) 的详细信息,请参见共享定义的实体
  6. 创建本机 Kubernetes 集群创建 VMware Tanzu Kubernetes Grid Integrated Edition 集群

Tanzu Kubernetes Grid 集群创建工作流

VMware Cloud Director 10.3.1 开始,可以创建 Tanzu Kubernetes Grid 集群。

  1. Kubernetes Container Clusters 插件发布到服务提供商。请参见从组织发布或取消发布插件。如果要允许租户创建 Kubernetes 集群,必须将 Kubernetes Container Clusters 插件发布到这些组织。有关管理 VMware Cloud Director 插件的详细信息,请参见管理插件
  2. 如果要授予租户创建和管理本机集群的权限,必须将 cse:nativeCluster Entitlement 权限包发布到要使用 Tanzu Kubernetes Grid 集群的任何组织。共享权限包后,您必须将编辑 CSE:NATIVECLUSTER 权限添加到要创建和修改 Tanzu Kubernetes Grid 集群的角色。如果还希望用户能够删除集群,则必须将完全控制 CSE:NATIVECLUSTER 权限添加到这些角色。此外,还可以将管理员权限分配给要查看组织中所有 Tanzu Kubernetes 集群的用户或者要跨站点管理集群的用户。有关运行时定义的实体 (RDE) 的权限和访问级别的信息,请参见管理定义的实体
  3. 创建 VMware Tanzu Kubernetes Grid 集群