This site will be decommissioned on December 31st 2024. After that date content will be available at techdocs.broadcom.com.

升级独立管理集群

要升级具有独立管理集群的 Tanzu Kubernetes Grid,必须先升级独立管理集群。在升级管理工作负载集群的管理集群之前,无法升级工作负载集群。

如果运行具有 vSphere with Tanzu 主管的 TKG,则不会执行此过程。相反,您可以在 vSphere 中升级主管,并通过升级其 TKr 来更新主管的 Kubernetes 版本。

升级管理集群会自动升级其运行的自动管理的软件包

注意

安装 v2.1 CLI 之后,在升级独立管理集群之前,所有特定于上下文的 CLI 命令组(tanzu clustertanzu kubernetes-release)以及除 tanzu mc upgradetanzu mc create 之外的所有 management-cluster 插件命令都不可用,并且不包含在 --help 输出中。

管理集群和工作负载集群使用客户端证书对客户端进行身份验证。这些证书的有效期为一年。要续订集群,请至少每年升级一次集群,或者按照 续订集群证书(标准 Mc)或知识库文章如何在或 VMware 知识库文章如何在 Tanzu Kubernetes Grid 集群中轮转证书

必备条件

  • 您已查看升级的已知问题。请参阅已知问题
  • 您执行了升级管理集群之前升级 Tanzu Kubernetes Grid 中的步骤。
  • 如果在 Internet 受限环境中部署了以前版本的 Tanzu Kubernetes Grid,则已执行准备 Internet 受限环境中的步骤,以使用新的组件映像版本重新创建并运行所需的脚本。
  • 如果您的现有管理集群的版本高达 1.6.0 (含 1.6.0),且已在没有主管集群的 vSphere 7 上运行,并且您希望将 vSphere 升级到 vSphere 8,请将管理集群及其工作负载集群升级到 Tanzu Kubernetes Grid v2.1.x 或 v1.6.1,最好先从 vSphere 7 升级到 vSphere 8。如果在 vSphere 7 上运行独立管理集群,并且 vSphere 实例在升级到 vSphere 8 后再升级到 Tanzu Kubernetes Grid v2.1.x 或 v1.6.1,则必须尽快升级管理集群和工作负载集群。vSphere 8 不支持 v1.6.0 及以下的 Tanzu Kubernetes Grid 版本。

过程

  1. 运行 tanzu login 命令以查看可用于升级的管理集群的交互式列表。

    tanzu login
    
  2. 选择要升级的管理集群。有关详细信息,请参见列出管理集群和更改上下文

  3. 获取集群的管理员凭据。Tanzu CLI 别名 mcmanagement-cluster 的缩写。

    tanzu mc kubeconfig get --admin
    
  4. kubectl 连接到管理集群。


    kubectl config use-context CLUSTER-NAME-admin@CLUSTER-NAME.
    
  5. 如果管理集群正在 Azure 上运行,请在升级集群之前设置 AZURE_CLIENT_SECRET 环境变量:

    export AZURE_CLIENT_SECRET=YOUR-AZURE-CLIENT-SECRET
    
  6. 如果管理集群最初是在 TKG v1.3 或更低版本中创建的,或者如果您不确定,请执行以下操作。以下步骤添加了在 TKG v2.1 中将管理集群升级到其基于软件包的配置所需的密钥,但在 TKG v1.4 之前创建的管理集群中不包含该密钥:

    1. 停用 package-based-cc 功能标记,以启用旧版管理集群创建试运行:

      tanzu config set features.management-cluster.package-based-cc false
      
    2. 通过使用原始配置文件执行试运行式管理集群创建,为管理集群获取更新的旧式清单。例如,在 vSphere 上:

      tanzu mc create -f mgmt-config.yaml --dry-run > legacy-mgmt.yaml
      Do you want to configure vSphere with Tanzu? [y/N]: N
      Would you like to deploy a non-integrated Tanzu Kubernetes Grid management cluster on vSphere 7.0? [y/N]: y
      
      
    3. 提取所需的 -config-values 密钥:

      cat legacy-mgmt.yaml | yq 'select(.metadata.name == "MANAGEMENT-CLUSTER-NAME-config-values")' > mgmt-config-secret.yaml
      
    4. 在管理集群上下文中,将密钥应用于管理集群:

      kubectl apply -f mgmt-config-secret.yaml
      
    5. 重新启用 package-based-cc 功能标记,以禁止创建旧版管理集群。

      tanzu config set features.management-cluster.package-based-cc true
      
  7. 运行 tanzu mc upgrade 命令并输入 y 进行确认。

    注意

    运行此命令后,非管理员用户无法登录到关联的工作负载集群,直到 Pinniped Pod 完成重新启动。

    tanzu mc upgrade
    

    如果 IaaS 帐户中的多个基础虚拟机映像具有要升级到的相同版本的 Kubernetes,请使用 --os-name 选项指定所需的操作系统。有关详细信息,请参见在集群升级期间选择操作系统

    例如,在 vSphere 上,如果同时上载了使用 Kubernetes v1.24.10 的 Photon 模板和 Ubuntu OVA 模板,请指定 --os-name ubuntu 以升级要在 Ubuntu 虚拟机上运行的管理集群。

    tanzu mc upgrade --os-name ubuntu
    

    要在升级集群时跳过确认步骤,请指定 --yes 选项。

    tanzu mc upgrade --yes
    

    升级过程首先升级管理集群中运行的 vSphere、Amazon Web Services (AWS) 或 Azure 的集群 API 提供程序。然后,其将升级管理集群的所有控制平面和工作节点中的 Kubernetes 版本。

    重要

    升级管理集群时,请勿对管理集群或其管理的工作负载集群运行 tanzu clustertanzu mc 命令,例如从另一个引导计算机或 shell 窗口中运行命令。

    如果升级在完成之前超时,请再次运行 tanzu mc upgrade 并指定值大于默认值 30 分钟的 --timeout 选项。

    tanzu mc upgrade --timeout 45m0s
    
    注意

    安装 v2.1 CLI 之后,但在升级管理集群之前,所有特定于上下文的 CLI 命令组(tanzu clustertanzu kubernetes-release)以及除 tanzu mc upgradetanzu mc create 以外的所有management-cluster 插件命令均不可用且不包含在 Tanzu CLI --help 输出中。

  8. 升级完成后,再次运行带有 --include-management-cluster -A 选项的 tanzu cluster list 命令以检查管理集群是否已升级。

    tanzu cluster list --include-management-cluster -A
    

    您会看到管理集群现在正在运行新版本的 Kubernetes,但工作负载集群仍运行以前版本的 Kubernetes。

     NAME                 NAMESPACE   STATUS    CONTROLPLANE  WORKERS  KUBERNETES         ROLES       PLA   TKR
     k8s-1-22-13-cluster  default     running   1/1           1/1      v1.22.13+vmware.1  <none>      dev   v1.22.13---vmware.1-tkg.1
     k8s-1-23-10-cluster  default     running   1/1           1/1      v1.23.10+vmware.1  <none>      dev   v1.23.10---vmware.1-tkg.1
     mgmt-cluster         tkg-system  running   1/1           1/1      v1.24.10+vmware.1  management  dev   v1.24.10---vmware.1-tkg.1
    
  9. 重新生成管理员 kubeconfig

    tanzu management-cluster kubeconfig get --admin
    

    以下是此命令的输出示例:

    Credentials of cluster 'mgmt' have been saved
    You can now access the cluster by running 'kubectl config use-context mgmt-admin@mgmt'
    
    重要

    如果在升级后不续订 kubeconfig,则集群过期后将无法访问该集群。

下一步操作

您现在可以:

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