TKG Service 提供两个 API 和支持客户端,用于置备 TKG 集群和管理其生命周期。

TKG 集群置备

该图描述了在 主管 上置备 TKG 集群的工作流。
图 1. 主管 上置备 TKG 集群
在 主管 上置备 TKG 集群

TKG 集群类型

有两种类型的 Kubernetes 工作负载集群可以在 vSphere IaaS control plane 基础架构上置备,其中 主管 作为管理集群运行并托管 Kubernetes 集群 API (CAPI)。每种类型都基于 ClusterClass。请参见所支持版本对应的 TKR 发行说明。另请参见 将 Kubernetes 版本与 TKG 服务 集群结合使用
具有引用默认 ClusterClass(名为 tanzukubernetescluster)的 CAPI 集群的 TanzuKubernetesCluster
集群签名:
apiVersion: run.tanzu.vmware.com/v1alpha3
kind: TanzuKubernetesCluster

这种类型的工作负载集群是使用引用默认 ClusterClass(名为 tanzukubernetescluster)的集群 API (CAPI) 构建的 Tanzu Kubernetes 集群。集群类型为 TanzuKubernetesCluster,置备 API 为 v1alpha3。由于这是构建在 CAPI 集群之上的抽象,因此不会在集群清单中指定对后端集群类的引用。引用由系统处理。

对于这种类型的工作负载集群,TanzuKubernetesCluster 对象位于一线,并用作抽象层。置备此类集群的工作流与在 vSphere IaaS control plane 版本 7 上置备 TKGS 集群的工作流相同。

引用默认 ClusterClass(名为 tanzukubernetescluster)的 CAPI 集群
集群签名:
apiVersion: cluster.x-k8s.io/v1beta1
kind: Cluster
这种类型的工作负载集群是使用集群 API 构建、引用默认 ClusterClass(名为 tanzukubernetescluster)的纯 CAPI 集群。集群类型为 Cluster,置备 API 为 v1beta1
对于此类型工作负载集群,CAPI 集群 API 位于最前面;没有 TKC 抽象层。系统提供了用于处理基础架构的控制器,因此您无需创建 ClusterClass 相关对象。将公开变量,您可以自定义集群。集群规范中的字段与 TKC 规范中的字段不同,但置备工作流是相同的。

TKG 集群置备 API

vSphere 8 主管 上的 TKG 提供了两个 API 用于管理 TKG 集群的生命周期:v1alpha3v1beta1。这两个 API 本质上都是声明性的,类似于 Kubernetes API。通过声明性集群置备,可以指定 TKG 集群的所需状态:节点数、可用存储、虚拟机大小、Kubernetes 软件版本。TKG 将努力置备和维护与所需状态匹配的集群。

如果要将现有 Tanzu Kubernetes 集群升级到 vSphere 8 主管 上的 TKG,该集群必须使用 v1alpha2 API,这样才能开始升级过程。有关完整详细信息,请参考升级文档:
API 种类 vCenter 版本 描述
v1beta1 集群 vCenter 8+ 用于管理基于集群类的集群生命周期的新 API。
v1alpha3 TanzuKubernetesCluster vCenter 8+ 继续使用 v1alpha2 API。API v1alpha3 支持 API v1alpha2 支持的所有功能。添加了新功能。
v1alpha2 TanzuKubernetesCluster vCenter 7 U3 旧版 API,用于在 vCenter 7 U3 主管上置备 Tanzu Kubernetes 集群,以及将集群升级到 vCenter 8 主管。在升级到 vSphere 8 或在 vSphere 8 上进行置备时,v1alpha2 API 会自动转换为 v1alpha3 API。
v1alpha1 TanzuKubernetesCluster vCenter 7 U1、U2 已弃用的 API,用于在第一代 vCenter 7 主管上置备 Tanzu Kubernetes 集群。

TKG 集群置备客户端

vSphere 8 主管 上的 TKG 支持用于置备 TKG 集群的各种客户端工作流: