多个 Kubernetes 版本

本主题介绍了如何列出可用的 Kubernetes 版本并部署具有非默认 Kubernetes 版本的工作负载集群。

关于 Kubernetes 版本

具有独立管理集群的 Tanzu Kubernetes Grid 的每个版本都提供一个默认版本和两个非默认版本的 Kubernetes,您可以通过运行 tanzu kubernetes-release get 列出这些版本。

Tanzu Kubernetes Grid 管理具有 Tanzu Kubernetes 版本 (TKr) 对象的 Kubernetes 版本。TKr 指定与 TKr 中定义的 Kubernetes 版本兼容的操作系统映像、核心 Kubernetes 组件和引导程序包。运行具有默认或非默认 Tkr 的 tanzu cluster create 时,Tanzu Kubernetes Grid 使用 TKr 中指定的组件和引导软件包创建集群。它还会读取集群配置文件,以确定创建集群时要使用的兼容操作系统映像。

有关支持的 Kubernetes 版本的完整列表,请参见《VMware Tanzu Kubernetes Grid 2.1 发行说明》中的 Tanzu Kubernetes Grid v2.1 中支持的 Kubernetes 版本

列出可用版本

要列出所有可用的 Kubernetes 版本及其当前兼容性和升级状态,请使用可选的版本匹配参数运行 tanzu kubernetes-release get,例如:

  • 要列出所有版本,请运行 tanzu kubernetes-release get
  • 要列出与 v1.23.16 匹配的所有版本,请运行 tanzu kubernetes-release get v1.23.10
tanzu kubernetes-release get
NAME                       VERSION                  COMPATIBLE  ACTIVE  UPDATES AVAILABLE
v1.22.17---vmware.1-tkg.1  v1.22.17+vmware.1-tkg.1  True        True
v1.23.16---vmware.1-tkg.1  v1.23.16+vmware.1-tkg.1  True        True
v1.24.10---vmware.1-tkg.1  v1.24.10+vmware.1-tkg.1  True        True

列出可用升级

要发现可用于特定工作负载集群的 Tkr 版本,请使用集群的全名运行 tanzu cluster available-upgrades get,例如:

tanzu cluster available-upgrades get my-cluster

激活或停用 Tanzu Kubernetes 版本

可以激活或停用 TKr。要激活 TKr,请执行以下操作:

tanzu kubernetes-release activate TKR-NAME

例如:

tanzu kubernetes-release activate v1.22.11---vmware.1-tkg.1

要停用 TKr,请执行以下操作:

tanzu kubernetes-release deactivate TKR-NAME

例如:

tanzu kubernetes-release deactivate v1.22.11---vmware.1-tkg.1

部署具有非默认 Kubernetes 版本的集群

每个 Tanzu Kubernetes Grid 版本都提供 Kubernetes 的默认版本。Tanzu Kubernetes Grid v2.1.1 的默认版本为 Kubernetes v1.24.10。

上游 Kubernetes 发布修补程序或新版本时,VMware 会在公用注册表中发布修补程序或新版本,Tanzu Kubernetes 发布控制器会将其导入管理集群。这样,tanzu CLI 便可以根据新版本创建集群。

  • 要列出可用的 Kubernetes 版本,请参见上面的可用 Kubernetes 版本
  • 要部署运行非默认版本的 Kubernetes 的集群,请执行以下步骤。

将 Kubernetes 版本发布到基础架构

在 vSphere 和 Azure 上,您需要执行其他步骤,然后才能部署运行非默认 Kubernetes 版本的集群:

  • vSphere:将相应的基础映像模板 OVA 文件导入 vSphere,然后将其转换为虚拟机模板。有关将基础 OVA 文件导入到 vSphere 的信息,请参见将基础映像模板导入到 vSphere

  • Azure:运行 Azure CLI 命令以接受基础操作系统版本的许可证。接受许可证后,未来可以跳过此步骤:

    1. tanzu kubernetes-release get 命令输出中列出的目标 Kubernetes 版本转换为其 Azure 映像 SKU,如下所示:
      • 将前导 v 更改为 k8s-
      • 将版本号中的 . 更改为 dot
      • 将后面的 +vmware.* 更改为 -ubuntu-2004,以指定 Ubuntu v20.04(Azure 上所有 Tanzu Kubernetes Grid 虚拟机的默认操作系统版本)。
      • 示例:k8s-1dot24dot10-ubuntu-2004k8s-1dot23dot16-ubuntu-2004
    2. 运行 az vm image terms accept。例如:

      az vm image terms accept --publisher vmware-inc --offer tkg-capi-2022-06-24 --plan k8s-1dot24dot10-ubuntu-2004
      
  • Amazon Web Services (AWS):无需操作。包含受支持 Kubernetes 版本的 Amazon 2 Amazon 计算机映像 (AMI) 将公开提供给所有受支持 AWS 区域中的所有 AWS 用户。Tanzu Kubernetes Grid会自动为指定的 Kubernetes 版本使用相应的 AMI。

部署 Kubernetes 集群

如果要部署基于计划的集群,请将环境变量 ALLOW_LEGACY_CLUSTER 设置为 true

export ALLOW_LEGACY_CLUSTER=true

要部署的工作负载集群的 Kubernetes 版本不是您的 Tanzu Kubernetes Grid 版本的默认版本,请在 --tkr 选项中指定 Tanzu Kubernetes 版本。例如,要部署 Kubernetes v1.22.17 集群,请运行:

tanzu cluster create my-1-22-17-cluster --tkr v1.22.17---vmware.1-tkg

有关如何创建工作负载集群的更多详细信息,请参见创建工作负载集群

使用自定义计算机映像部署集群

对于操作系统版本、Kubernetes 版本和目标基础架构的常见组合,具有独立管理集群的 Tanzu Kubernetes Grid 提供了默认计算机映像。您可以选择构建自定义计算机映像和 TKrs。

执行此操作的原因包括:

  • 在 VMware 支持但不分发的基础操作系统(如 Red Hat Enterprise Linux (RHEL) v8)上创建集群。
  • 要将其他软件包安装到基础计算机映像中,或者按照映像生成器文档中的自定义中所述对其自定义。

有关说明,请参见构建计算机映象

check-circle-line exclamation-circle-line close-line
Scroll to top icon