データストアを SPBM に移行する

このドキュメントでは、vSphere データストアをストレージ ポリシーベースの管理(SPBM)に移行する方法について説明します。

コンテキスト

クラスタ構成ファイルで、次の 4 つの場所でデータストアを指定できます。

これらのフィールドの継承は次のとおりです。

adminCluster.vCenter.datastore ->
  userCluster.vCenter.datastore ->
    (userCluster.masterNode.vsphere.datastore and userCluster.nodePools[i].vsphere.datastore

例:

  • userCluster.vCenter.datastore が空の場合は、adminCluster.vCenter.datastore から値が継承されます。

  • userCluster.nodePools[i].vsphere.datastore が空の場合は、userCluster.vCenter.datastore から値が継承されます。

同様に、ストレージ ポリシーは次の 4 つの場所で指定できます。

storagePolicyName フィールドの継承は、datastore フィールドの継承と同じです。

始める前に

これは、一方向の移行です。以前の状態に戻すことはできません。

ユーザー クラスタの移行を実行する

  1. 現在のクラスタ構成を取得します。

    gkectl get-config cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
        --cluster-name USER_CLUSTER_NAME \
        --output-dir ./gen-files
    

    次のように置き換えます。

    • ADMIN_CLUSTER_KUBECONFIG: 管理クラスタの kubeconfig ファイルのパス。

    • USER_CLUSTER_NAME: ユーザー クラスタの名前。

    ./gen-files で、user-cluster.yaml を見つけます。

    構成ファイルの取得の詳細については、クラスタから構成ファイルを生成するをご覧ください。

  2. データストア フィールドのいずれかを移行するには:

    1. datastore フィールドを空の文字列に設定します。
    2. storagePolicyName の値を指定します。
    3. gkectl update を実行します。

    masterNode.vsphere.datastore の移行を実行する例を次に示します。

    最近生成された user-cluster.yaml を調整します。

    masterNode.vsphere.datastore=""
    masterNode.vsphere.masterNode.vsphere.storagePolicyName="control-plane-storage-policy"
    

    ユーザー クラスタを更新します。

    gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG
    

    次のように置き換えます。

    • ADMIN_CLUSTER_KUBECONFIG: 管理クラスタの kubeconfig ファイルのパス

    • USER_CLUSTER_CONFIG: 前の手順で生成した user-cluster.yaml のパス。

メモ

移行後に新しいノードプールを作成すると、新しいプールは更新されたクラスタに従って継承ルールに従います。

たとえば、vCenter.datastore をストレージ ポリシーに移行したとします。

ここで、新しいノードプールを作成し、nodePools[i].vsphere.datastorenodePools[i].vsphere.storagePolicyName の両方を空のままにすると、新しいノードプールは vCenter.storagePolicyName で指定されたストレージ ポリシーを継承します。