このドキュメントでは、vSphere データストアをストレージ ポリシーベースの管理(SPBM)に移行する方法について説明します。
コンテキスト
クラスタ構成ファイルで、次の 4 つの場所でデータストアを指定できます。
管理クラスタ vCenter.datastore
ユーザー クラスタ vCenter.datastore
ユーザー クラスタ masterNode.vsphere.datastore
ユーザー クラスタ nodePools[i].vsphere.datastore
これらのフィールドの継承は次のとおりです。
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 つの場所で指定できます。
管理クラスタ vCenter.storagePolicyName
ユーザー クラスタ vCenter.storagePolicyName
ユーザー クラスタ masterNode.vsphere.storagePolicyName
ユーザー クラスタ nodePools[i].vsphere.storagePolicyName
storagePolicyName
フィールドの継承は、datastore
フィールドの継承と同じです。
始める前に
これは、一方向の移行です。以前の状態に戻すことはできません。
ユーザー クラスタの移行を実行する
現在のクラスタ構成を取得します。
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
を見つけます。構成ファイルの取得の詳細については、クラスタから構成ファイルを生成するをご覧ください。
データストア フィールドのいずれかを移行するには:
datastore
フィールドを空の文字列に設定します。storagePolicyName
の値を指定します。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.datastore
と nodePools[i].vsphere.storagePolicyName
の両方を空のままにすると、新しいノードプールは vCenter.storagePolicyName
で指定されたストレージ ポリシーを継承します。