Kubernetes バージョンなど、Tanzu Kubernetes クラスタのローリング アップデートを開始するには、Tanzu Kubernetes リリース、仮想マシン クラス、またはストレージ クラスを更新します。
Tanzu Kubernetes クラスタの更新準備のチェックリスト
Tanzu Kubernetes クラスタの更新を実行する前に、前提条件となる次のタスクを完了します。
手順 | 操作 |
---|---|
1 | vSphere with Tanzu リリース ノートを参照します。 |
2 | Tanzu Kubernetes リリース リリース ノートを参照します。 |
3 | vSphere with Tanzu 更新ワークフローを確認します。 |
4 | ターゲット アップグレード バージョンとの Tanzu Kubernetes クラスタの互換性を確認します。 |
5 | Tanzu Kubernetes Grid サービス API ターゲット バージョン(v1alpha2 など)の機能と、現行バージョン(v1alpha1 など)の機能を確認します。(以下の重要な注記を参照してください。) |
6 | プロビジョニングしたすべての Tanzu Kubernetes クラスタが実行状態であることを確認します。 |
7 | スーパーバイザー クラスタ と Tanzu Kubernetes Grid サービス をアップグレードする vSphere 名前空間 アップデートを実行します。 |
8 | Tanzu Kubernetes クラスタのローリング アップデートを開始するオプションを確認します。 |
9 | クラスタ マニフェストを更新するためにサポートされている方法を確認します。 |
重要:
vSphere with Tanzu バージョン 7 Update 3、具体的には
スーパーバイザー クラスタ バージョン
v1.21.0+vmware.wcp.2
には、
Tanzu Kubernetes Grid サービス v1alpha2 API への自動アップグレードが含まれています。
Tanzu Kubernetes クラスタ仕様の一部のフィールドは推奨されておらず、Kubernetes バージョンをアップグレードする前にクラスタ マニフェストを手動で編集しなければならないことがあります。
クラスタ仕様を TKGS v1alpha2 API に変換した後の Tanzu Kubernetes リリースの更新を参照してください。
Tanzu Kubernetes クラスタのローリング アップデートの開始
ローリング アップデートを開始するには、
TanzuKubernetesCluster
の仕様に対して次の 1 つまたは複数の変更を加えます。
注: これらは、ローリング アップデートを開始するための最も一般的な方法ですが、唯一のものではありません。いずれかの構成要素を変更して、ローリング アップデートを開始することもできます。たとえば、配布バージョンに対応する
VirtualMachineImage
を名前変更または置換すると、システムが新しいイメージで実行されているすべてのノードの取得を試行するため、ローリング アップデートが開始されます。
スーパーバイザー クラスタ を更新した場合も、そこにデプロイされている
Tanzu Kubernetes クラスタのローリング アップデートがトリガされることがあります。たとえば、
vmware-system-tkg-controller-manager
が更新された場合、システムは新しい値をマニフェスト ジェネレータに導入し、コントローラはこれらの値をデプロイするローリング アップデートを開始します。
クラスタ マニフェストの編集方法
クラスタを更新するには、クラスタのマニフェストを更新する必要があります。これを行う方法は、次のようにいくつかあります。
kubectl edit tanzukubernetescluster/CLUSTER-NAME
コマンドを使用する方法。このコマンドを実行すると、KUBE_EDITOR または EDITOR 環境変数によって定義されたテキスト エディタで、クラスタ マニフェスト全体が開きます。ファイルを保存すると、変更が反映されてクラスタが更新されます。kubectl edit
コマンドの詳細については、Kubernetes のドキュメントのedit commandを参照してください。kubectl edit
方式を使用するには、次のトピックを参照してください。kubectl patch
コマンドを使用する方法。このコマンドは、クラスタの「インプレース」更新を実行します。このコマンドの目的は、Kubernetes のバージョンを更新する方法を提供することです。ここでは、その方法について説明します。kubectl patch
コマンドの詳細については、Kubernetes のドキュメントのUpdate API Objects in Place Using kubectl patchを参照してください。kubectl patch
方式を使用するには、次のトピックを参照してください。- 手動で更新したローカル YAML ファイルを
kubectl apply
コマンドから使用する方法。この方法にはクラスタの作成と似ているという利点がありますが、現在のクラスタの YAML にアクセスできない場合は問題が発生するため、推奨されません。