本节介绍如何构建自定义计算机映像,以用作 Tanzu Kubernetes Grid (TKG) 独立管理集群及其创建的工作负载集群的节点虚拟机模板。
要为 vSphere with Tanzu 主管集群构建自定义映像,请参见 vSphere Tanzu Kubernetes Grid Image Builder 存储库。
本主题提供有关 TKG 自定义映像的背景信息。
注意要将自定义计算机映像用于管理集群节点,您需要使用安装程序界面部署管理集群,而不是从配置文件中部署。
每个自定义计算机映像都会将基础操作系统 (OS) 版本和 Kubernetes 版本以及任何其他自定义内容打包到 vSphere 上运行的映像中。Linux 自定义映像也可以在 AWS 或 Microsoft Azure 基础架构上运行。自定义映像必须基于 Tanzu Kubernetes Grid 支持的操作系统版本。基础操作系统可以是 VMware 支持但未分发的操作系统,例如 Red Hat Enterprise Linux (RHEL) v8。要查看支持的操作系统列表,请参见目标操作系统。
要为 Tanzu Kubernetes Grid 集群节点构建自定义计算机映像,请使用上游 Kubernetes Image Builder 项目中的容器映像。Kubernetes Image Builder 在本地工作站上运行,并使用以下内容:
ISO
构建 Open Virtualization Archive (OVA) 映像。vm template
。对于操作系统版本、Kubernetes 版本和目标基础架构的常见组合,Tanzu Kubernetes Grid 提供了默认计算机映像。例如,在 vSphere 上,一个 ova-ubuntu-2004-v1.24.10+vmware.1-tkg
映像用作 Ubuntu v20.04 和 Kubernetes v1.24.10 的 OVA 映像。
对于操作系统版本、Kubernetes 版本和基础架构的其他组合(例如 RHEL v8 操作系统或 Windows),没有默认的计算机映像,但您可以构建它们。
如果您构建并使用与默认映像具有相同操作系统版本、Kubernetes 版本和基础架构的自定义映像,则自定义映像将替换默认映像。然后,Tanzu CLI 使用您的自定义映像创建新集群,并且不再使用该操作系统版本、Kubernetes 版本和目标基础架构的组合的默认映像。
集群 API (CAPI) 基于不可变基础架构的原则构建。构成集群的所有节点均派生自通用模板或计算机映像。
当 CAPI 从计算机映像创建集群时,需要配置、安装、访问或运行多项内容,包括:
kubeadm
、kubelet
和 kubectl
版本。containerd
。kubeadm init
和 kubeadm join
所需的所有映像。您必须包含任何未发布且必须在本地提取的映像,就像 VMware 签名的映像。cloud-init
已配置为接受引导指令。有关如何构建映像的信息,请参见以下主题。