了解如何在 主管 上创建和配置 vSphere 命名空间。作为 vSphere 管理员,在创建 vSphere 命名空间 后,可以对命名空间设置资源限制和权限,以便 DevOps 工程师可以访问该命名空间。您可以向 DevOps 工程师提供 Kubernetes 控制平面的 URL,以便他们可以在具有权限的命名空间上运行工作负载。

配置了 VDS 网络连接堆栈的 主管 上的命名空间与配置了 NSX 的集群上的命名空间具有不同的网络连接配置和功能。在三个 vSphere 区域上部署的 主管 上配置的命名空间还支持单区域 主管 上的命名空间不支持的功能集。
  • 配置了 NSX 的单区域 主管。此类 主管 上的 vSphere 命名空间 支持 vSphere Pod、虚拟机、Tanzu Kubernetes Grid 集群和 主管服务NSX 提供对这些 vSphere 命名空间 的工作负载网络支持。
  • 配置了 NSX 的三区域 主管。在配置了 NSX 的三区域 主管vSphere 命名空间 上,仅支持 Tanzu Kubernetes Grid 集群和虚拟机。它们不支持 vSphere Pod主管服务
  • 配置了 VDS 的单区域 主管。在配置了 VDS 的单区域 主管vSphere 命名空间 上,支持 Tanzu Kubernetes Grid、虚拟机和 主管服务。除了 主管服务 部署供自己使用的设备外,它们不支持 vSphere Pod
  • 配置了 VDS 的三区域 主管。运行具有 VDS 的三区域 主管vSphere 命名空间,仅支持 Tanzu Kubernetes Grid 集群和虚拟机。它们不支持 vSphere Pod主管服务

有关详细信息,请参见vSphere IaaS 控制平面概念和规划中的启用具有 HA 代理负载均衡器的三区域主管的要求启用具有 VDS 网络连接和 HAProxy 负载均衡器的单集群主管的要求

您还可以为命名空间设置资源限制、分配权限,以及将集群上的命名空间服务置备或激活为模板。因此,DevOps 工程师可以自助方式创建主管命名空间,并在该命名空间内部署工作负载。有关详细信息,请参见在 vSphere IaaS control plane 中置备自助命名空间模板

如果对 主管 使用 NSX,则可以选择在 vSphere 命名空间 级别覆盖网络设置。如果选择该选项,请记住以下注意事项:
表 1. vSphere 命名空间 网络规划注意事项
注意事项 描述
NSX 安装 要覆盖特定 vSphere 命名空间主管 网络设置,NSX 必须包括一个专用于 Tier-0 网关(路由器)的 Edge 集群和另一个专用于 Tier-1 网关的 Edge 集群。请参阅指南安装和配置 vSphere IaaS 控制平面中提供的 NSX 安装说明。
需要 IPAM 如果覆盖特定 vSphere 命名空间主管 网络设置,新的 vSphere 命名空间 网络必须指定在 主管 和任何其他 vSphere 命名空间 网络中唯一的输入、输出和命名空间网络子网。您需要相应地管理 IP 地址分配。
主管 路由 主管 必须能够直接路由到 TKG 集群节点和输入子网。为 vSphere 命名空间 选择 Tier-0 网关时,有两个选项可以配置所需的路由:
  • 使用虚拟路由和转发 (VRF) 网关从 主管 Tier-0 网关继承配置
  • 使用边界网关协议 (BGP) 配置 主管 Tier-0 网关和专用 Tier-0 网关之间的路由

有关这些选项的详细信息,请参阅 NSX Tier-0 网关文档。

前提条件

  • 部署 主管
  • 为需要访问 vSphere 命名空间 的 DevOps 工程师和开发人员创建用户和组。在连接到 vCenter Single Sign-On 的标识源中或者在配置了 主管 的 OIDC 提供程序中创建用户或组。
  • 创建存储策略以实现永久存储。如果命名空间位于三区域 主管 中,请使用拓扑感知型策略。无法将非拓扑感知型存储策略分配给三区域命名空间。
  • 为独立虚拟机创建虚拟机类和内容库。
  • 所需特权:
    • 命名空间.修改集群范围的配置
    • 命名空间.修改命名空间配置

过程

  1. vSphere Client 主菜单中,选择工作负载管理
  2. 选择命名空间选项卡。
  3. 单击创建命名空间
  4. 选择要放置 vSphere 命名空间主管
  5. 输入命名空间的名称。
    名称必须采用符合 DNS 的格式。
  6. 网络下拉菜单中,为 vSphere 命名空间 选择工作负载网络。
    注: 仅当在配置了 vSphere 网络堆栈的集群上创建命名空间时,此步骤才可用。
  7. 如果为 主管 配置了 NSX 网络连接堆栈,则可以选择替代集群网络设置以覆盖 主管 网络设置并为命名空间配置网络设置。
    为命名空间配置以下网络设置:
    选项 描述
    第0层网关 选择要与命名空间 Tier-1 网关关联的 Tier-0 网关。

    选择 Tier-0 网关将覆盖在启用集群时配置的 Tier-0 网关,因此必须重新配置 CIDR 范围。

    注: 主管 必须能够直接路由到 TKG 集群节点和输入子网。
    • 如果选择链接到 Tier-0 网关的 VRF 网关,则会自动配置网络和子网。
    • 如果选择了 NAT 模式,则必须配置子网、输入 CIDR 和输出 CIDR。
    • 如果取消选择 NAT 模式,则只能配置子网和输入 CIDR。
    注: 选择 Tier-0 网关后,将无法对其进行更改。
    NAT 模式 NAT 模式默认处于选中状态。
    如果取消选择该选项,则可以直接从 Tier-0 网关之外访问所有工作负载(如 vSphere Pod、虚拟机和 Tanzu Kubernetes Grid 集群节点 IP 地址),并且您无需配置输出 CIDR。
    注: 一旦启用命名空间模式,便无法对其进行更改。
    负载均衡器大小 在命名空间 Tier-1 网关上选择负载均衡器实例大小。
    命名空间网络 输入一个或多个 IP CIDR 以创建子网/分段,并为连接到命名空间的工作负载分配 IP 地址。
    注: 如果没有为集群配置 CIDR 范围,请输入该范围。可以在创建命名空间后通过编辑命名空间网络设置来配置其他 CIDR。
    命名空间子网前缀 输入子网前缀,以指定为命名空间分段预留的子网大小。Default is 28.
    注: 一旦指定子网前缀,便无法对其进行更改。
    输入 输入 CIDR 注释,以确定负载均衡器服务为 vSphere PodTanzu Kubernetes Grid 集群发布的虚拟 IP 地址的输入 IP 范围。

    可以在创建命名空间后通过编辑命名空间网络设置来配置其他 CIDR。

    输出 输入 CIDR 注释以确定 SNAT IP 地址的输出 IP 范围。

    可以在创建命名空间后通过编辑命名空间网络设置来配置其他 CIDR。

  8. 输入描述,然后单击创建
    此命名空间是在 主管 上创建的。
  9. 为可以访问命名空间的用户设置权限。
    作为 vSphere 管理员,您可以在 vSphere 命名空间 上为需要访问命名空间的开发人员和 DevOps 工程师设置权限。一个用户帐户可以访问多个命名空间。属于管理员组的用户可以访问 主管 上的所有命名空间。
    1. 权限窗格中,选择添加权限
    2. 选择标识源、用户或组以及角色,然后单击确定
      角色 描述
      可查看 用户或组的只读访问权限。用户或组可以登录到 主管 控制平面,并列出在 vSphere 命名空间 中运行的工作负载,例如 vSphere PodTanzu Kubernetes Grid 集群以及虚拟机。
      可编辑 用户或组可以创建、读取、更新和删除 vSphere PodTanzu Kubernetes Grid 集群和虚拟机。属于管理员组的用户对 主管 中的所有命名空间都具有编辑权限。
      所有者

      具有所有者权限的用户帐户可以:

      • 在命名空间中部署和管理工作负载。
      • 与其他用户或组共享命名空间。
      • 使用 kubectl 创建和删除其他 vSphere 命名空间。具有“所有者”权限的用户共享命名空间时,他们可以将“查看”、“编辑”或“所有者”权限分配给其他用户或组。
      注: vCenter Single Sign-On标识源中的可用用户支持所有者角色。不能将所有者角色用于外部身份提供程序中的用户或组。
      将用户或组分配给 可查看可编辑角色时,系统会创建 RoleBinding 并将其映射到 ClusterRole。例如,分配给 可编辑角色的用户或组通过 RoleBinding 映射到 Kubernetes edit ClusterRole。 edit 角色允许用户置备和操作集群。您可以在目标 vSphere 命名空间 中使用命令 kubectl get rolebinding 查看此映射。
      kubectl get rolebinding -n tkg2-cluster-namespace
      NAME                                                           ROLE                         AGE
      wcp:tkg-cluster-namespace:group:vsphere.local:administrators   ClusterRole/edit             33d
      wcp:tkg-cluster-namespace:user:vsphere.local:administrator     ClusterRole/edit             33d

      将所有者角色分配给用户或组时,系统会创建 ClusterRoleBinding 并将其映射到允许用户或组使用 kubectl 创建和删除 vSphere 命名空间 的 ClusterRole。要查看此映射,可以通过 SSH 连接到 主管 控制平面节点。

  10. 将存储分配给命名空间。
    分配给命名空间的存储策略使 DevOps 团队可以使用持久存储。
    1. 存储窗格中,选择添加存储
    2. 选择存储策略以控制持久卷的数据存储放置,然后单击确定
    分配存储策略后, vSphere IaaS control plane 会在 vSphere 命名空间 中创建匹配的 Kubernetes 存储类。如果使用 Tanzu Kubernetes Grid,则该存储类将自动从命名空间复制到 Tanzu Kubernetes Grid 集群。在将多个存储策略分配给此命名空间时,会为每个存储策略创建一个单独的存储类。
  11. 从“容量和使用情况”窗格中,选择编辑限制并为命名空间配置资源限制。
    选项 描述
    CPU 要为命名空间预留的 CPU 资源量。
    内存 要为命名空间预留的内存量。
    存储 要为命名空间预留的总存储空间量。
    存储策略限制 分别设置专用于与命名空间关联的每个存储策略的存储量。
    将在 vCenter Server 上创建命名空间的资源池。存储限制决定可用于命名空间的总存储量,而存储策略则决定 vSphere Pod 持久卷在关联存储类上的放置位置。
  12. 为独立虚拟机设置虚拟机服务。

下一步做什么

与 DevOps 工程师共享 Kubernetes 控制平面 URL 以及用于通过 适用于 vSphere 的 Kubernetes CLI 工具 登录 主管 的用户名。您可以向 DevOps 工程师授予对多个命名空间的访问权限。请参见 连接到 vSphere IaaS 控制平面集群
注:vSphere IaaS 控制平面服务和工作负载指南不包含有关在 Tanzu Kubernetes Grid 集群上运行工作负载的信息。要了解如何使用 Tanzu Kubernetes Grid 集群,请参见 将主管上的 Tanzu Kubernetes Grid 与 vSphere IaaS 控制平面结合使用