在升级过程中,您需要确保 Kf 安装使用最新版本的 Kf operator:
- 确认当前的 Kf 版本可升级到 Kf v2.10.0。
- 升级到 Kf v2.10.0。
- 升级依赖项(如果需要)。
准备工作
您需要有:
- 安装了 Kf 的现有集群。
- 对安装了
gcloud
、kf
、kubectl
的机器的访问权限。
准备升级
连接到目标集群
gcloud container hub memberships 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
...
如果您看到任何 FAIL
或 Error: environment failed checks
消息,请按照 kf doctor
输出中的指导操作或者查看问题排查指南以解决问题,并重试该命令直到成功为止。
升级 operator
Kf operator 会为您执行升级。
应用 operator yaml:
kubectl apply -f "https://storage.googleapis.com/kf-releases/v2.10.0/operator.yaml"
升级 Kf 依赖项
升级 Tekton:
kubectl apply -f "https://storage.googleapis.com/tekton-releases/pipeline/previous/v0.32.1/release.yaml"
升级到 Cloud Service Mesh v1.12:
- 按照 Cloud Service Mesh 升级指南中的步骤操作。
升级到 Kf v2.10.0 CLI
安装 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
验证 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 ...
- CLI 版本列在
验证 Kf 已成功升级
运行
doctor
以确保新安装的版本运行状况良好:kf doctor --retries=20
该命令会多次运行集群检查。在新控制器启动时,有几次尝试失败是正常的。
如果命令失败并显示消息
Error: environment failed checks
,请按照doctor
输出中的指导操作来解决问题,并重试该命令直到成功为止。
如果验证步骤通过,那么您的集群已成功升级! 如果您有任何问题,请查看支持页面获取指导。