Google Cloud の外部で Kf をアップグレードする

このドキュメントでは、既存の Kf インストールとその依存関係をアップグレードする方法について説明します。

アップグレード手順の一環として、Kf のインストールで Kf オペレーターの最新バージョンが使用されていることを確認してください。

  • 現在の Kf バージョンを Kf v2.9.0 にアップグレードできることを確認します。
  • Kf v2.9.0 にアップグレードします。
  • 依存関係をアップグレードします(必要な場合)。

始める前に

以下のものが必要になります。

  • 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.7.3
  Server version:                   v1.21.6-gke.1500
  kf["app.kubernetes.io/version"]:  v2.7.3
...

Kf クライアントと Kf サーバーの値が一致しない場合で、サーバーのバージョンが v2.7.x の場合は、Kf v2.9.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 出力のガイダンスに従うか、トラブルシューティング ガイドを確認して問題を解決し、成功するまでコマンドを再試行します。

オペレーターをアップグレードする

Kf オペレーターをアップグレードします。

  1. オペレーター yaml を適用します。

    kubectl apply -f "https://storage.googleapis.com/kf-releases/v2.9.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 アップグレード ガイドの手順に沿って操作します。

Kf v2.9.0 CLI にアップグレードする

  1. CLI をインストールします。

    Linux

    このコマンドを実行すると、システム上のすべてのユーザーに Kf CLI がインストールされます。Cloud Shell のタブに表示されている手順に沿ってインストールします。

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

    Cloud Shell

    bash を使用している場合、このコマンドを実行すると、kf が Cloud Shell インスタンスにインストールされます。他のシェルの場合は手順の変更が必要になることがあります。

    mkdir -p ~/bin
    gcloud storage cp gs://kf-releases/v2.9.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.9.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.9.0
      Server version:                   v1.21.6-gke.1500
      kf["app.kubernetes.io/version"]:  v2.9.0
    ...
    

Kf が正常にアップグレードされたことを確認する

  1. doctor を実行して、新しくインストールされたバージョンが正常であることを確認します。

    kf doctor --retries=20

    このコマンドは、クラスタ チェックを数回実行します。新しいコントローラの起動中は、何度か試行が失敗しても問題ではありません。

    コマンドが「Error: environment failed checks」というメッセージで失敗した場合は、doctor 出力のガイダンスに従って問題を解決し、成功するまでコマンドを再試行します。

検証手順が正常に完了すれば、クラスタが正常にアップグレードされたことになります。問題が発生した場合は、サポートページでガイダンスを確認してください。