在 Google Cloud 外升級 Kf

本文件說明如何升級現有的 Kf 安裝作業及其依附元件。

在升級程序中,請確認 Kf 安裝作業使用的是最新版本的 Kf 運算子:

  • 確認目前的 Kf 版本可升級至 Kf 2.11.28 版。
  • 升級至 Kf 2.11.28 版。
  • 升級依附元件 (如有需要)。

事前準備

你需要:

  • 已安裝 Kf 的現有叢集。
  • 存取已安裝 gcloudkfkubectl 的電腦。

準備升級

連線至目標叢集

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.11.27
  Server version:                   v1.31.1-gke.2105000
  kf["app.kubernetes.io/version"]:  v2.11.27
...

如果 Kf 用戶端和 Kf 伺服器的值「不相符」,但伺服器版本為 v2.10.x,請先安裝 Kf v2.11.28 CLI,再繼續操作。

如果 Kf 伺服器值較舊,且低於 v2.10.x,您必須先逐步升級至 Kf v2.10.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 輸出內容中的指示,或參閱疑難排解指南來解決問題,並重試指令,直到成功為止。

升級運算子

Kf 運算子會為您執行升級作業。

  1. 套用運算子 yaml:

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

升級 Kf 依附元件

  1. 升級 Tekton:

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

  2. 升級至 Cloud Service Mesh 1.23.3-asm.1+config1 版:

    1. 按照 Cloud Service Mesh 升級指南中的步驟操作。

升級至 Kf 2.11.28 版 CLI

  1. 安裝 CLI:

    Linux

    這項指令會為系統上的所有使用者安裝 Kf CLI。請按照 Cloud Shell 分頁中的操作說明,為自己安裝這個擴充功能。

    gcloud storage cp gs://kf-releases/v2.11.28/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.11.28/kf-darwin /tmp/kf
    chmod a+x /tmp/kf
    sudo mv /tmp/kf /usr/local/bin/kf

    Cloud Shell

    如果您使用 bash,這個指令會在 Cloud Shell 執行個體上安裝 kf。如果您使用其他殼層,可能需要修改指令。

    mkdir -p ~/bin
    gcloud storage cp gs://kf-releases/v2.11.28/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.11.28/kf-windows.exe kf.exe
  2. 驗證 Kf CLI 和 Kf 伺服器版本是否相符:

    • CLI 版本會列在 Kf Client 下方。
    • Kf 伺服器版本會列在 kf["app.kubernetes.io/version"] 下方。
    $ kf debug
    ...
    Version:
      Kf Client:                        v2.11.28
      Server version:                   v1.31.1-gke.2105000
      kf["app.kubernetes.io/version"]:  v2.11.28
    ...
    

確認 Kf 升級成功

  1. 執行 doctor,確保新安裝的版本運作正常:

    kf doctor --retries=20

    這項指令會執行多次叢集檢查。在新的控制器啟動時,部分嘗試可能會失敗,這是正常現象。

    如果指令失敗並顯示訊息 Error: environment failed checks,請按照 doctor 輸出內容中的指示解決問題,並重試指令,直到成功為止。

如果驗證步驟通過,表示叢集已成功升級!如有任何問題,請參閱支援頁面瞭解如何處理。