以下主题介绍了 Tanzu Kubernetes Grid (TKG) 部署的关键元素和概念。本节中的其他主题提供了关键 TKG 元素的参考,并介绍了实验性 TKG 功能。
Tanzu Kubernetes Grid (TKG) 是适用于 Kubernetes 的高级别多云基础架构。Tanzu Kubernetes Grid 允许您将 Kubernetes 作为实用程序提供给开发人员,就像电网一样。操作员可以使用此网格创建和管理 Kubernetes 集群以托管容器化应用程序,开发人员可以使用该网格开发、部署和管理应用程序。有关详细信息,请参见什么是 Tanzu Kubernetes Grid?。
管理集群是一个 Kubernetes 集群,它部署和管理托管容器化应用的其他 Kubernetes 集群(称为 工作负载集群)。
有关管理集群的详细信息,请参见管理集群:主管和独立。
Tanzu Kubernetes Grid 部署的工作负载集群是符合 CNCF 的 Kubernetes 集群,其中部署并运行容器化应用和打包服务。
工作负载集群由管理集群部署,并在同一私有或公有云基础架构上运行。
您可以拥有多个工作负载集群,并且为了满足它们托管的应用的需求,工作负载集群可以运行不同的 Kubernetes 版本,并且具有不同的 拓扑,其中包括可自定义的节点类型和节点计数、各种操作系统、处理器、存储以及其他资源设置和配置。
对于 Pod 到 Pod 的网络连接,工作负载集群默认使用 Antrea,还可以使用 Calico。
有关不同类型的工作负载集群的详细信息,请参见工作负载集群。
Tanzu Kubernetes Grid 实例是 Tanzu Kubernetes Grid 的完整部署,包括管理集群、已部署的工作负载集群及其运行的打包服务。对于不同的 IaaS 提供程序(如 vSphere、Azure 和 AWS);对于不同的故障域(如 Datacenter-1
、AWS us-east-2
或 AWS us-west-2
),您可以针对不同的环境(例如生产、转储和测试)运行 Tanzu Kubernetes Grid 的多个实例。
Tanzu CLI 启用用于部署和操作 TKG 的 tanzu
命令。例如:
tanzu cluster
命令与 TKG 管理集群进行通信,以创建和管理托管容器化工作负载的工作负载集群。tanzu package
命令将安装和管理托管工作负载所使用的打包服务。tanzu apps
命令通过在工作负载集群上运行 Tanzu Application Platform 来管理托管的工作负载。tanzu management-cluster
(或 tanzu mc
)命令通过在目标基础架构上创建独立管理集群来部署 TKG,然后在独立管理集群运行后管理部署。Tanzu CLI 使用插件对功能进行模块化和扩展。
对于独立管理集群,管理集群运行的 Kubernetes 版本与 Tanzu CLI 使用的 Kubernetes 版本相同。
有关详细信息,请参见 Tanzu CLI 架构和配置。
引导计算机是用于下载并运行 Tanzu CLI 的笔记本电脑、主机或服务器。
使用 Tanzu CLI 部署独立管理集群时,它会在引导计算机上将该管理集群创建为 kind
集群,然后再将其部署到目标基础架构。
如何将 Tanzu CLI 连接到现有管理集群取决于其部署选项:
引导计算机可以是本地笔记本电脑、jumpbox 或者任何其他物理机或虚拟机。
要安全高效地运行 Kubernetes 应用,通常需要在具有特定的 Kubernetes 和基础操作系统修补程序版本以及兼容的其他组件版本的节点上托管这些应用。这些组件版本今后可能会有变化。
为了便于通用、安全性和兼容性,VMware 发布了 Tanzu Kubernetes 版本 (TKr),该版本打包了方便自己运行的 Kubernetes 和基础操作系统修补程序版本,以及支持该 Kubernetes 版本及其托管的工作负载的其他组件版本。
管理集群使用 TKr 创建运行所需 Kubernetes 和操作系统版本的工作负载集群。
每个 TKr 都包含特定的 Kubernetes 修补程序版本在各种云基础架构上的各种虚拟机类型上运行所需的所有内容。
有关详细信息,请参见 Tanzu Kubernetes 版本和自定义节点映像。
要为托管工作负载提供身份验证、输入控制、容器注册表、可观察性、服务发现和日志记录等服务,您可以在 TKG 集群中安装 Tanzu 打包服务或软件包。
作为在多个工作负载集群中运行同一服务的不同实例的替代方法,具有独立管理集群的 TKG 支持将某些服务安装到共享服务集群,共享服务集群是可以将其服务发布到其他工作负载集群的特殊工作负载集群。
Tanzu 打包的服务与 Carvel imgpkg 工具捆绑在一起,并由 VMware 进行 TKG 测试。
此类软件包可能包括:
有关如何下载和安装 imgpkg
的信息,请参见安装 Carvel 工具。
在 Tanzu Kubernetes Grid v1.x 以及 TKG 2.x 支持的基于 TKC 的传统集群中,集群计划是工作负载集群的标准化配置。计划会为控制平面节点、工作节点、虚拟机类型等配置设置。
TKG v1.x 提供两个默认计划:dev
集群具有一个控制平面节点和一个工作节点,prod
集群具有三个控制平面节点和三个工作节点。
TKG 2.x 支持更精细的集群拓扑配置,如配置基于类的工作负载集群中所述。
ytt
覆盖网络TKG 集群和计划的配置设置来自上游开源的源,例如集群 API 项目及其特定于 IaaS 的提供程序项目。这些源在 YAML 中发布 Kubernetes 对象规范,并预配置了设置。
TKG 支持 Carvel ytt 覆盖网络以非破坏性自定义您自己安装的对象,从而保留原始 YAML 规范。当 YAML 自定义文件驻留在引导计算机上,而直接更改这些文件会破坏原始上游配置的本地副本时,此功能非常有用。
安装 TKG 插件会在引导计算机的 ~/.config/tanzu/tkg
目录中安装集群和集群计划配置文件,并且这些配置支持 ytt
覆盖网络。
ytt
覆盖网络指定如何更改源 YAML 文件中的目标位置的目标设置,以支持任何可能的自定义。
有关详细信息,请参见 使用 ytt 进行高级 TKC 配置。
有关如何下载和安装 ytt
的信息,请参见安装 Carvel 工具。
要部署具有独立管理集群的 TKG,您可以通过运行命令 tanzu mc create --ui
启动 Tanzu Kubernetes Grid 安装程序图形向导。安装程序向导在引导计算机上运行,并提供用户界面以指导您完成部署独立管理集群的过程。
在以下情况下,Tanzu CLI 使用集群配置文件创建集群:
TKG 安装程序创建独立管理集群时,它会从 UI 捕获用户输入,并将输入的值写入到集群配置文件中。然后,TKG 安装程序使用此集群配置文件部署独立管理集群。
集群配置文件中的必需变量和可选变量取决于管理集群部署选项:
升级 TKG 因其部署选项而异:
tanzu management-cluster upgrade
将独立管理集群升级到 CLI 的 Kubernetes 版本。升级 Tanzu Kubernetes Grid 中的工作负载集群意味着迁移其节点以在具有较新 Kubernetes 版本的基础虚拟机映像上运行。默认情况下,工作负载集群升级到管理集群的本机 Kubernetes 版本,但您可以指定将工作负载集群升级到其他非默认 Kubernetes 版本。
要了解 Tanzu Kubernetes Grid 中可用的 Kubernetes 版本,请参见:
要将管理集群与 Tanzu Mission Control(具有 UI 控制台的 Kubernetes 管理平台)集成,请参见: