Tanzu Kubernetes Grid 支持对 Tanzu Kubernetes Grid 集群进行自助式生命周期管理。可以使用 Tanzu Kubernetes Grid,通过 Kubernetes 操作员和开发人员熟悉的声明性方式创建和管理 Tanzu Kubernetes Grid 集群。

Tanzu Kubernetes Grid 组件

Tanzu Kubernetes Grid 提供三层控制器来管理 Tanzu Kubernetes Grid 集群的生命周期。

  • Tanzu Kubernetes Grid 置备的集群中包含与底层 vSphere 命名空间 资源集成所需的组件。这些组件包含与 主管 集成的云提供商插件。此外,Tanzu Kubernetes Grid 集群会将持久卷请求传递到与 VMware 云原生存储 (CNS) 集成的 主管。请参见工作负载的持久存储
  • Cluster API 为集群创建、配置和管理提供了说明性的 Kubernetes 样式 API。集群 API 的输入包括描述集群的资源、描述组成集群的虚拟机的一组资源以及描述集群加载项的一组资源。
  • 虚拟机服务 提供了用于管理虚拟机和关联 vSphere 资源的描述性 Kubernetes 样式 API。虚拟机服务 引入了表示抽象可重用硬件配置的虚拟机类的概念。虚拟机服务 提供的功能用于管理托管 Tanzu Kubernetes Grid 集群的控制平面节点虚拟机和工作节点虚拟机的生命周期。
图 1. Tanzu Kubernetes Grid 架构和组件
在图中,主管 包含基于其运行的服务和用户命名空间,而命名空间中又包含不同类型的资源。

Tanzu Kubernetes Grid 集群组件

Tanzu Kubernetes Grid 集群中运行的组件跨越四个领域:身份验证和授权、存储集成、Pod 网络连接和负载均衡。

  • 身份验证 Webhook:作为 Pod 在集群内运行的 Webhook,用于验证用户身份验证令牌。
  • 容器存储接口插件:通过 主管 与 CNS 集成的准虚拟化 CSI 插件。
  • 容器网络接口插件:提供 Pod 网络连接的 CNI 插件。
  • 云服务提供商实施:支持创建 Kubernetes 负载均衡器服务。

Tanzu Kubernetes Grid API

可以使用 Tanzu Kubernetes Grid API 置备和管理 Tanzu Kubernetes Grid 集群。它是一个使用 kubectl 和 YAML 进行调用的声明性 API。可以从 主管 API 端点 IP 下载 VMware 扩展的 kubectl 可执行文件。

通过声明性 API,可以指定 Tanzu Kubernetes Grid 集群的所需状态:节点数、可用存储、虚拟机大小、Kubernetes 软件版本,而无需向系统发出强制性命令。Tanzu Kubernetes Grid 将努力置备符合所需状态的集群。

要调用 Tanzu Kubernetes Grid API,需使用 YAML 文件调用 kubectl,进而调用该 API。创建集群后,需更新 YAML 以更新集群。