VMware Tanzu Kubernetes Grid(以下简称TKG)是一个按照V公司的想法提供了一致的,上游兼容的区域性Kubernetes基础架构,TKG为最终用户工作负载和生态系统集成做好底层准备。
可以在VMware软件定义的数据中心(SDDC)和公共云环境(包括vSphere on Could,Microsoft Azure和Amazon EC2)中部署TKG。
TKG的架构
以这样一个思路,V公司希望像运行云计算一样运行Kubernetes,IT可以将其作为企业的公用程序提供给开发人员。TKG建立在受信任的上游和社区项目上,使用者不必自己构建Kubernetes环境。 TKG开发就引入对多集群范例的支持,所以,其不仅适用于集群,而且还适用于集群共享的服务。
除了经过VMware测试,签名和支持的Kubernetes二进制文件外,TKG还提供Kubernetes生产环境所需的服务,例如联网,身份验证,入口控制和日志记录。
如上如图可以看到,TKG的整个架构包括:
Management Cluster
- 管理集群是部署的第一个元素。,它本身也是一个Kubernetes集群,充当Tanzu Kubernetes Grid实例的主要管理和运营中心。 此处运行Cluster API,以创建运行应用程序工作负载的Tanzu Kubernetes集群,并在其中配置该集群使用的共享和集群内服务。
- 在管理群集内部自动启用Antrea网络。 管理集群是专门为操作平台和管理Tanzu Kubernetes集群的生命周期而构建的, 因此,不会承载最终用户工作负载。
- 在vSphere 7上,官方建议使用Tanzu Kubernetes Grid Service中的内置主管群集,而不是使用Tanzu Kubernetes Grid部署管理群集。
Tanzu Kubernetes Clusters
- 部署管理集群后,使用TKG的CLI部署符合CNCF的Kubernetes集群并管理其生命周期。 这些群集称为Tanzu Kubernetes群集,是应用程序工作负载的群集。
- Tanzu Kubernetes集群可以运行不同版本的Kubernetes,具体取决于它们运行的应用程序的需求。
- 默认情况下,Tanzu Kubernetes群集内部网络使用Antrea。
Tanzu Kubernetes Cluster Plans
集群计划是一个蓝图(Blueprint),描述了用于部署Tanzu Kubernetes群集的配置。 它提供了一组可配置的值,这些值描述了诸如控制平面计算机,工作计算机,VM类型等的设置。(是不是让人想起了vRA)
Shared and In-Cluster Services
共享服务和集群内服务是在TKG实例(Instance)中运行的服务,用于提供Tanzu Kubernetes集群的身份验证和授权,日志记录和入口控制。
Tanzu Kubernetes Grid Instance
TKG实例是Tanzu Kubernetes Grid的完整部署(如上图所示),包括管理集群,已部署的Tanzu Kubernetes集群以及配置的共享和集群内服务。
可以为生产,试运行和测试等不同环境部署不同的Tanzu Kubernetes Grid实例。
当然,如前面所说,TKG实例适用于不同的IaaS提供商或环境,例如vSphere私有云,Azure和Amazon EC2; 也可以部署在不同的故障域,例如Datacenter-1,AWS us-east-2或AWS us-west-2。
Bootstrap Machine
引导机是下载并运行Tanzu Kubernetes Grid CLI在便携式计算机,主机或服务器上的,推送管理集群对将要运行的平台进行初始引导。
Tanzu Kubernetes Grid Installer
Tanzu Kubernetes Grid安装程序是一个图形向导,通过运行tkg init --ui命令来启动。 安装程序向导在引导机上本地运行,并提供用户界面来指导用户完成部署管理集群的过程。