6.21.10.4. インフラトポロジーを使用しない vSphere ストレージトポロジーの作成
OpenShift Container Platform は、トポロジー対応セットアップで障害ドメインを指定するためにインフラストラクチャーオブジェクトを使用することを推奨します。インフラストラクチャーオブジェクトで障害ドメインを指定し、同時に ClusterCSIDriver オブジェクトでトポロジーカテゴリーを指定することは、サポートされていない操作です。
6.21.10.4.1. 手順 リンクのコピーリンクがクリップボードにコピーされました!
VMware vCenter vSphere クライアント GUI で、適切なゾーンとリージョンのカテゴリーとタグを定義します。
vSphere では任意の名前でカテゴリーを作成できますが、OpenShift Container Platform では、トポロジーを定義するために
openshift-regionおよびopenshift-zone名を使用することを強く推奨します。vSphere のカテゴリーとタグの詳細は、VMware vSphere のドキュメントを参照してください。
Container Storage Interface (CSI) ドライバーがこのトポロジーを検出できるようにするには、
clusterCSIDriverオブジェクトの YAML ファイルのdriverConfigセクションを編集します。-
以前に作成した
openshift-zoneおよびopenshift-regionカテゴリーを指定します。 driverTypeをvSphereに設定します。~ $ oc edit clustercsidriver csi.vsphere.vmware.com -o yaml出力例
apiVersion: operator.openshift.io/v1 kind: ClusterCSIDriver metadata: name: csi.vsphere.vmware.com spec: logLevel: Normal managementState: Managed observedConfig: null operatorLogLevel: Normal unsupportedConfigOverrides: null driverConfig: driverType: vSphere1 vSphere: topologyCategories:2 - openshift-zone - openshift-region
-
以前に作成した
次のコマンドを実行して、
CSINodeオブジェクトにトポロジーキーがあることを確認します。~ $ oc get csinode出力例
NAME DRIVERS AGE co8-4s88d-infra-2m5vd 1 27m co8-4s88d-master-0 1 70m co8-4s88d-master-1 1 70m co8-4s88d-master-2 1 70m co8-4s88d-worker-j2hmg 1 47m co8-4s88d-worker-mbb46 1 47m co8-4s88d-worker-zlk7d 1 47m~ $ oc get csinode co8-4s88d-worker-j2hmg -o yaml出力例
... spec: drivers: - allocatable: count: 59 name: csi-vsphere.vmware.com nodeID: co8-4s88d-worker-j2hmg topologyKeys:1 - topology.csi.vmware.com/openshift-zone - topology.csi.vmware.com/openshift-region- 1
- vSphere
openshift-zoneおよびopenshift-regionカテゴリーからのトポロジーキー。注記CSINodeオブジェクトは、更新されたトポロジー情報を受信するのに時間がかかる場合があります。ドライバーが更新された後、CSINodeオブジェクトにはトポロジーキーが含まれている必要があります。
障害ドメイン全体のデータストアに割り当てるタグを作成します。
OpenShift Container Platform が複数の障害ドメインにまたがる場合、データストアがそれらの障害ドメイン間で共有されない可能性があります。この場合、永続ボリューム (PV) のトポロジーを意識したプロビジョニングが役立ちます。
-
vCenter で、データストアにタグを付けるためのカテゴリーを作成します。例:
openshift-zonal-datastore-cat。カテゴリーが OpenShift Container Platform クラスターに参加するデータストアのタグ付けに一意に使用される場合、他のカテゴリー名を使用できます。また、作成したカテゴリーの関連付け可能なエンティティーとしてStoragePod、Datastore、およびFolderが選択されていることを確認します。 -
vCenter で、以前に作成したカテゴリーを使用するタグを作成します。この例では、タグ名
openshift-zonal-datastoreを使用しています。 以前に作成したタグ (この例では
openshift-zonal-datastore) を、動的プロビジョニングと見なされる障害ドメイン内の各データストアに割り当てます。注記カテゴリーとタグには、好きな名前を使用できます。この例で使用されている名前は、推奨事項として提供されています。定義するタグとカテゴリーが、OpenShift Container Platform クラスター内のすべてのホストと共有されるデータストアのみを一意に識別するようにします。
-
vCenter で、データストアにタグを付けるためのカテゴリーを作成します。例:
各障害ドメインのタグベースのデータストアを対象とするストレージポリシーを作成します。
- vCenter で、メインメニューから Policies and Profiles をクリックします。
- Policies and Profiles ページのナビゲーションペインで、VM Storage Policies をクリックします。
- CREATE をクリックします。
- ストレージポリシーの名前を入力します。
ルールには、Tag Placement rules を選択し、目的のデータストアを対象とするタグとカテゴリーを選択します (この例では、
openshift-zonal-datastoreタグ)。データストアは、ストレージ互換性テーブルにリストされています。
新しいゾーンストレージポリシーを使用する新しいストレージクラスを作成します。
- Storage > StorageClasses をクリックします。
- StorageClasses ページで、Create StorageClass をクリックします。
- Name に新しいストレージクラスの名前を入力します。
- Provisioner で、csi.vsphere.vmware.com を選択します。
- Additional parameters で、StoragePolicyName パラメーターの Value を、前に作成した新しいゾーンストレージポリシーの名前に設定します。
Create をクリックします。
出力例
kind: StorageClass apiVersion: storage.k8s.io/v1 metadata: name: zoned-sc1 provisioner: csi.vsphere.vmware.com parameters: StoragePolicyName: zoned-storage-policy2 reclaimPolicy: Delete allowVolumeExpansion: true volumeBindingMode: WaitForFirstConsumer