始める前に
以下の情報が必要になります。
- Kf がインストールされている既存のクラスタ。
gcloud
、kf
、kubectl
がインストールされているマシンへのアクセス。
既存の Kf のインストールを検証する
クラスタとのやり取りで必要な認証情報を取得します。
gcloud container clusters get-credentials CLUSTER_NAME \ --zone CLUSTER_ZONE \ --project CLUSTER_PROJECT_ID
kf debug
を実行して、Kf CLI と Kf のサーバーのバージョンが一致していることを確認します。- CLI のバージョンは
Kf Client
の下に表示されます。 - Kf サーバーのバージョンは
kf["app.kubernetes.io/version"]
の下に表示されます。
$ kf debug ... Version: Kf Client: v2.0.0 Server version: v1.17.13-gke.1401 kf["app.kubernetes.io/version"]: v2.0.0 ...
Kf クライアントと Kf サーバーの値が一致していない場合、サーバーのバージョンに一致する Kf CLI のバージョンをダウンロードしてインストールし、新しい CLI で再度チェックします。次に進む前に、CLI のバージョンがサーバーのバージョンと一致する必要があります。
- CLI のバージョンは
kf doctor
を実行して、クラスタの状態を確認します。続行する前に、すべてのテストに合格していることを確認してください。$ kf doctor ... === RUN doctor/user === RUN doctor/user/ContainerRegistry --- PASS: doctor/user --- PASS: doctor/user/ContainerRegistry ...
「
Error: environment failed checks
」というメッセージが表示された場合は、doctor
出力のガイダンスに沿って問題を解決し、成功するまでコマンドを再試行します。
アップグレード
Kf をアップグレードするには、次の手順を行います。
- ローカル環境とアップグレードの準備をします。
- Kf の依存関係をアップグレードします。
- Kf をアップグレードして、アップグレードが成功したことを確認します。
アップグレードの準備を行う
kf version
を実行して、Kf の現在のバージョンを取得します。$ kf version kf version v2.0.0 linux
Kf の最新バージョンをダウンロード ページで探します。
Kf リリースの YAML ファイルをダウンロードして、
kf-release.yaml
として保存します。使用している OS の Kf のバージョンをダウンロードし、
kf-next
という名前を付けます。chmod
を実行してkf-next
を実行可能にします。chmod +x kf-next
kf-next version
を実行して、ダウンロードしたバージョンがインストールする Kf のバージョンと一致していることを確認します。$ kf-next version kf version v2.1.0 linux
次のコマンドを実行して
config-defaults
ConfigMap のバックアップを作成します。kubectl get configmap config-defaults -o yaml -n kf > config-defaults-backup.yaml
kubectl diff -f kf-release.yaml
を実行して、アップグレードによってクラスタに加えられた変更を確認します。保持する必要がある変更内容を維持するには、
kf-release.yaml
を編集して変更します。たとえば、Kf の
v2.0.0
でconfig-defaults
ConfigMap プロパティspaceDefaultToV3Stack
を false に設定した場合、v2.1.0
リリースのデフォルト値はtrue
になります。もう一度
kubectl diff -f kf-release.yaml
を実行して、加えた変更によって想定どおりの結果が得られることを確認します。
Kf の依存関係をアップグレードする
ダウンロード ページを開き、アップグレード先の Kf のバージョンの依存関係マトリックスを探します。
Tekton をアップグレードします。
Tekton リリースページを開きます。
Kf 依存関係マトリックスに表示されている Tekton のバージョンを見つけます。
「Installation one-line」の下にあるコマンドを実行して、Tekton をアップグレードします。
Anthos Service Mesh をアップグレード:
バージョンのプルダウンで、Kf 依存関係マトリックスに表示されている Anthos Service Mesh のバージョンを選択します。
ガイドに沿って ASM をアップグレードします。
Kf をアップグレードして検証する
変更したリリース構成を使用して、アップグレードされた Kf コンポーネントをインストールします。
kubectl apply -f kf-release.yaml
doctor
を実行して、新しくインストールされたバージョンが正常であることを確認します。kf-next doctor --retries=12 --delay=5s
このコマンドは、クラスタ チェックを数回実行します。新しいコントローラの起動中に、いくつかの試行が失敗するのは正常な状態です。
コマンドが「
Error: environment failed checks
」というエラーで失敗した場合は、doctor
出力のガイダンスに沿って問題を解決し、成功するまでコマンドを再試行します。システム上にある既存の
kf
CLI をkf-next
CLI に置き換えます。chmod +x kf-next
mv kf-next $(which kf)
config-defaults-backup.yaml
ファイルをkubectl diff -f config-defaults-backup.yaml
と比較し、クラスタが引き続き正しく構成されていることを確認します。たとえば、以前の Kf バージョンからのすべての変更を維持し、次のバージョンの Kf にバンドルされている新しいビルドパックの使用を承認した場合:
$ kubectl diff -f config-defaults-backup.yaml diff -u -N /tmp/LIVE/v1.ConfigMap.kf.config-defaults /tmp/MERGED/v1.ConfigMap.kf.config-defaults --- /tmp/LIVE/v1.ConfigMap.kf.config-defaults +++ /tmp/MERGED/v1.ConfigMap.kf.config-defaults @@ -131,6 +131,8 @@ enable_route_services: false spaceBuildpacksV2: | - - name: new_buildpack - url: https://github.com/cloudfoundry/new-buildpack - name: staticfile_buildpack url: https://github.com/cloudfoundry/staticfile-buildpack - name: java_buildpack exit status 1