4.11. VMware vSphere ボリュームを使用した永続ストレージ
OpenShift Container Platform では、VMware vSphere の仮想マシンディスク (VMDK: Virtual Machine Disk) ボリュームの使用が可能となります。VMware vSphere を使用して、OpenShift Container Platform クラスターに永続ストレージをプロビジョニングできます。これには、Kubernetes と VMware vSphere についてある程度の理解があることが前提となります。
VMware vSphere ボリュームは動的にプロビジョニングできます。OpenShift Container Platform は vSphere にディスクを作成し、このディスクを正しいイメージに割り当てます。
OpenShift Container Platform は、自由にクラスターないのノードにあるボリュームをアタッチしたり、アタッチ解除できるように、個別の永続ディスクとして新規ボリュームをプロビジョニングします。そのため、スナップショットを使用するボリュームをバックアップしたり、スナップショットからボリュームを復元したりできません。詳細は、スナップショットの制限 を参照してください。
Kubernetes 永続ボリュームフレームワークは、管理者がクラスターのプロビジョニングを永続ストレージを使用して実行できるようにし、ユーザーが基礎となるインフラストラクチャーの知識がなくてもこれらのリソースを要求できるようにします。
永続ボリュームは、単一のプロジェクトまたは namespace にバインドされず、OpenShift Container Platform クラスター全体で共有できます。永続ボリューム要求はプロジェクトまたは namespace に固有のもので、ユーザーによって要求されます。
新規インストールの場合、OpenShift Container Platform 4.13 以降では、vSphere インツリーボリュームプラグインと同等の CSI ドライバーに自動的に移行できます。OpenShift Container Platform 4.15 以降に更新した場合も、自動移行が可能になります。更新と移行の詳細は、CSI の自動移行 を参照してください。
CSI 自動移行はシームレスに行ってください。移行をしても、永続ボリューム、永続ボリューム要求、ストレージクラスなどの既存の API オブジェクトを使用する方法は変更されません。
4.11.1. VMware vSphere ボリュームの動的プロビジョニング
VMware vSphere ボリュームの動的プロビジョニングは推奨される方法です。
4.11.2. 前提条件
- 使用するコンポーネントの要件を満たす VMware vSphere バージョンにインストールされている OpenShift Container Platform クラスター。vSphere バージョンのサポートに関する詳細は、vSphere にクラスターをインストールする を参照してください。
以下のいずれかの手順を使用し、デフォルトのストレージクラスを使用してそれらのボリュームを動的にプロビジョニングできます。
4.11.2.1. UI を使用した VMware vSphere ボリュームの動的プロビジョニング
						OpenShift Container Platform は、ボリュームをプロビジョニングするために thin ディスク形式を使用する thin という名前のデフォルトのストレージクラスをインストールします。
					
前提条件
- ストレージは、ボリュームとして OpenShift Container Platform にマウントされる前に基礎となるインフラストラクチャーになければなりません。
手順
- 
								OpenShift Container Platform コンソールで、Storage Persistent Volume Claims をクリックします。 
- 永続ボリューム要求の概要で、Create Persistent Volume Claim をクリックします。
- 結果のページで必要なオプションを定義します。 - 
										thinストレージクラスを選択します。
- ストレージ要求の一意の名前を入力します。
- アクセスモードを選択し、作成されるストレージ要求の読み取り/書き込みアクセスを決定します。
- ストレージ要求のサイズを定義します。
 
- 
										
- Create をクリックして永続ボリューム要求を作成し、永続ボリュームを生成します。
4.11.2.2. CLI を使用した VMware vSphere ボリュームの動的プロビジョニング
						OpenShift Container Platform は、ボリュームをプロビジョニングするために thin ディスク形式を使用する thin という名前のデフォルトの StorageClass をインストールします。
					
前提条件
- ストレージは、ボリュームとして OpenShift Container Platform にマウントされる前に基礎となるインフラストラクチャーになければなりません。
手順 (CLI)
- 以下の内容でファイル - pvc.yamlを作成して VMware vSphere PersistentVolumeClaim を定義できます。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを入力して、ファイルから - PersistentVolumeClaimオブジェクトを作成します。- oc create -f pvc.yaml - $ oc create -f pvc.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
4.11.3. VMware vSphere ボリュームの静的プロビジョニング
VMware vSphere ボリュームを静的にプロビジョニングするには、永続ボリュームフレームワークが参照する仮想マシンディスクを作成する必要があります。
前提条件
- ストレージは、ボリュームとして OpenShift Container Platform にマウントされる前に基礎となるインフラストラクチャーになければなりません。
手順
- 仮想マシンディスクを作成します。VMware vSphere ボリュームを静的にプロビジョニングする前に、仮想マシンディスク (VMDK) を手動で作成する必要があります。以下の方法のいずれかを使用します。 - vmkfstoolsを使用して作成します。セキュアシェル (SSH) を使用して ESX にアクセスし、以下のコマンドを使用して VMDK ボリュームを作成します。- vmkfstools -c <size> /vmfs/volumes/<datastore-name>/volumes/<disk-name>.vmdk - $ vmkfstools -c <size> /vmfs/volumes/<datastore-name>/volumes/<disk-name>.vmdk- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- vmware-diskmanagerを使用して作成します。- shell vmware-vdiskmanager -c -t 0 -s <size> -a lsilogic <disk-name>.vmdk - $ shell vmware-vdiskmanager -c -t 0 -s <size> -a lsilogic <disk-name>.vmdk- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- VMDK を参照する永続ボリュームを作成します。 - PersistentVolumeオブジェクト定義を使用して- pv1.yamlファイルを作成します。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- ボリュームの名前。この名前は永続ボリューム要求または Pod で識別されるものです。
- 2
- このボリュームに割り当てられるストレージの量。
- 3
- vSphere ボリュームのvsphereVolumeで使用されるボリュームタイプ。ラベルは vSphere VMDK ボリュームを Pod にマウントするために使用されます。ボリュームの内容はアンマウントされても保持されます。このボリュームタイプは、VMFS データストアと VSAN データストアの両方がサポートされます。
- 4
- 使用する既存の VMDK ボリューム。vmkfstoolsを使用した場合、前述のようにボリューム定義で、データストア名を角かっこ[]で囲む必要があります。
- 5
- マウントするファイルシステムタイプです。ext4、xfs、または他のファイルシステムなどが例になります。
 重要- ボリュームをフォーマットしてプロビジョニングした後に fsType パラメーターの値を変更すると、データ損失や Pod にエラーが発生する可能性があります。 
- ファイルから - PersistentVolumeオブジェクトを作成します。- oc create -f pv1.yaml - $ oc create -f pv1.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 直前の手順で作成した永続ボリュームにマップする永続ボリューム要求を作成します。 - PersistentVolumeClaimオブジェクト定義を使用して、ファイル- pvc1.yamlを作成します。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- ファイルから - PersistentVolumeClaimオブジェクトを作成します。- oc create -f pvc1.yaml - $ oc create -f pvc1.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
4.11.3.1. VMware vSphere ボリュームのフォーマット
						OpenShift Container Platform は、ボリュームをマウントしてコンテナーに渡す前に、PersistentVolume (PV) 定義の fsType パラメーター値で指定されたファイルシステムがボリュームに含まれることを確認します。デバイスが指定されたファイルシステムでフォーマットされていない場合、デバイスのデータはすべて消去され、デバイスはそのファイルシステムで自動的にフォーマットされます。
					
OpenShift Container Platform は初回の使用前にフォーマットするため、フォーマットされていない vSphere ボリュームを PV として使用できます。