在 Google Cloud 上升级 Kf

本文档介绍如何升级现有 Kf 安装及其依赖项。

在升级过程中,您需要确保 Kf 安装使用最新版本的 Kf operator:

  • 确认当前的 Kf 版本可升级到 Kf v2.10.0。
  • 升级到 Kf v2.10.0。
  • 升级依赖项(如果需要)。

准备工作

您需要有:

  • 安装了 Kf 的现有集群。
  • 对安装了 gcloudkfkubectl 的机器的访问权限。

准备升级

连接到目标集群

gcloud container clusters get-credentials CLUSTER_NAME \
 --zone CLUSTER_ZONE \
 --project CLUSTER_PROJECT_ID

确认当前的 Kf CLI 与服务器版本匹配

运行 kf debug 并验证 Kf CLI 与 Kf 服务器版本是否匹配。

  • CLI 版本列在 Kf Client 下。
  • Kf 服务器版本列在 kf["app.kubernetes.io/version"] 下。
$ kf debug
...
Version:
  Kf Client:                        v2.7.3
  Server version:                   v1.21.6-gke.1500
  kf["app.kubernetes.io/version"]:  v2.7.3
...

如果 Kf 客户端与 Kf 服务器值不一致,但服务器版本为 v2.7.x,请先安装 Kf v2.10.0 CLI,然后再继续操作。

如果 Kf 服务器值低于 v2.7.x,您必须先逐步升级到 Kf v2.7.x,然后才能继续。

在升级之前,确认 Kf 健康状况良好

运行 kf doctor 以检查集群的状态。确保所有测试均已通过,然后再继续。

$ kf doctor
...
=== RUN doctor/user
=== RUN doctor/user/ContainerRegistry
--- PASS: doctor/user
   --- PASS: doctor/user/ContainerRegistry
...

如果您看到任何 FAILError: environment failed checks 消息,请按照 kf doctor 输出中的指导操作或者查看问题排查指南以解决问题,并重试该命令直到成功为止。

升级 operator

Kf operator 会为您执行升级。

  1. 应用 operator yaml:

    kubectl apply -f "https://storage.googleapis.com/kf-releases/v2.10.0/operator.yaml"

升级 Kf 依赖项

  1. 升级 Tekton:

    kubectl apply -f "https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.32.1/release.yaml"

  2. 升级到 Cloud Service Mesh v1.12:

    1. 按照 Cloud Service Mesh 升级指南中的步骤操作。
  1. 升级/安装 Config Connector:

    如需从 Kf v2.8 升级,请按照 Kf 安装中“安装 Config Connector”一步中的步骤操作。

    如需从 Kf v2.7 升级,请执行以下操作:

    1. 下载所需的 Config Connector Operator tar 文件。

    2. 解压缩 tar 文件。

      tar zxvf release-bundle.tar.gz
    3. 在集群上安装 Config Connector Operator。

      kubectl apply -f operator-system/configconnector-operator.yaml

升级到 Kf v2.10.0 CLI

  1. 安装 CLI:

    Linux

    此命令会为系统上的所有用户安装 Kf CLI。请按照 Cloud Shell 标签页中的说明自行安装。

    gcloud storage cp gs://kf-releases/v2.10.0/kf-linux /tmp/kf
    chmod a+x /tmp/kf
    sudo mv /tmp/kf /usr/local/bin/kf

    Mac

    此命令会为系统上的所有用户安装 kf

    gcloud storage cp gs://kf-releases/v2.10.0/kf-darwin /tmp/kf
    chmod a+x /tmp/kf
    sudo mv /tmp/kf /usr/local/bin/kf

    Cloud Shell

    如果您使用 bash,此命令会在 Cloud Shell 实例上安装 kf;您可能需要为其他 Shell 修改说明。

    mkdir -p ~/bin
    gcloud storage cp gs://kf-releases/v2.10.0/kf-linux ~/bin/kf
    chmod a+x ~/bin/kf
    echo "export PATH=$HOME/bin:$PATH" >> ~/.bashrc
    source ~/.bashrc

    Windows

    此命令会将 kf 下载到当前目录。如果要从当前目录以外的任何位置调用,请将其添加到路径中。

    gcloud storage cp gs://kf-releases/v2.10.0/kf-windows.exe kf.exe
  2. 验证 Kf CLI 和 Kf 服务器版本匹配:

    • CLI 版本列在 Kf Client 下。
    • Kf 服务器版本列在 kf["app.kubernetes.io/version"] 下。
    $ kf debug
    ...
    Version:
      Kf Client:                        v2.10.0
      Server version:                   v1.21.6-gke.1500
      kf["app.kubernetes.io/version"]:  v2.10.0
    ...
    

验证 Kf 已成功升级

  1. 运行 doctor 以确保新安装的版本运行状况良好:

    kf doctor --retries=20

    该命令会多次运行集群检查。在新控制器启动时,有几次尝试失败是正常的。

    如果命令失败并显示消息 Error: environment failed checks,请按照 doctor 输出中的指导操作来解决问题,并重试该命令直到成功为止。

如果验证步骤通过,那么您的集群已成功升级! 如果您有任何问题,请查看支持页面获取指导。