クラスタ ノードで使用されるストレージ クラスを変更して、Tanzu Kubernetes クラスタを更新できます。

Tanzu Kubernetes Grid サービス では、ノード プールの StorageClass の変更、たとえば、.spec.topology.controlPlane.storageClass プロパティや .spec.topology.workers.storageClass プロパティの変更によって、クラスタを更新することができます。Tanzu Kubernetes Grid サービス クラスタの更新についてを参照してください。

前提条件

このタスクでは、kubectl edit tanzukubernetescluster/CLUSTER-NAME コマンドを使用してクラスタのマニフェストを更新します。kubectl edit コマンドを実行すると、KUBE_EDITOR または EDITOR の環境変数によって定義されたテキスト エディタ内にクラスタ マニフェストが開きます。ファイルを保存すると、変更が反映されてクラスタが更新されます。Kubectl のデフォルトのテキスト エディタの指定を参照してください。

手順

  1. スーパーバイザー クラスタ で認証します。vCenter Single Sign-On ユーザーとして スーパーバイザー クラスタ に接続するを参照してください。
    kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME
  2. ターゲット Tanzu Kubernetes クラスタがプロビジョニングされている vSphere 名前空間 にコンテキストを切り替えます。
    kubectl config use-context SUPERVISOR-NAMESPACE
  3. 使用可能なストレージ クラスを判別して、使用するクラスを決定するには、次のコマンドを実行します。
    kubectl describe tanzukubernetescluster CLUSTER-NAME
  4. 次のコマンドを実行して、クラスタのマニフェストを編集します。
    kubectl edit tanzukubernetescluster/CLUSTER-NAME
  5. storageClass の値を変更して、マニフェストを編集します。
    たとえば、制御プレーンおよびワーカー ノードに silver-storage-class クラスを使用しないようにクラスタのマニフェストを変更します。
    spec:
      topology:
        controlPlane:
          ...
          storageClass: silver-storage-class
        workers:
          ...      
          storageClass: silver-storage-class
    制御プレーンおよびワーカー ノードに gold-storage-class クラスを使用するには、次の手順を実行します。
    spec:
      topology:
        controlPlane:
          ...
          storageClass: gold-storage-class
        workers:
          ...      
          storageClass: gold-storage-class
  6. マニフェスト ファイルに行った変更内容を保存します。
    ファイルを保存すると、kubectl によって変更がクラスタに適用されます。バックグラウンドで、 Tanzu Kubernetes Grid サービス は新しいノード仮想マシンをプロビジョニングし、古い仮想マシンをスピンダウンします。
  7. kubectl から、マニフェストの編集が正常に記録されたことが報告されているかを確認します。
    kubectl edit tanzukubernetescluster/tkgs-cluster-1
    tanzukubernetescluster.run.tanzu.vmware.com/tkgs-cluster-1 edited
    注: エラーが表示された場合、またはクラスタ マニフェストが正常に編集されたことが kubectl から報告されない場合は、KUBE_EDITOR 環境変数を使用して、デフォルトのテキスト エディタが適切に構成されていることを確認してください。 Kubectl のデフォルトのテキスト エディタの指定を参照してください。
  8. クラスタが更新されていることを確認します。
    kubectl get tanzukubernetescluster
    NAME             CONTROL PLANE   WORKER   DISTRIBUTION                     AGE   PHASE
    tkgs-cluster-1   3               3        v1.18.5+vmware.1-tkg.1.c40d30d   21h   updating
  9. クラスタが更新されたことを確認します。
    kubectl get tanzukubernetescluster
    NAME             CONTROL PLANE   WORKER   DISTRIBUTION                     AGE   PHASE
    tkgs-cluster-1   3               3        v1.18.5+vmware.1-tkg.1.c40d30d   22h   running