2.7. 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 にディスクを作成し、このディスクを正しいイメージに割り当てます。
Kubernetes 永続ボリュームフレームワークは、管理者がクラスターのプロビジョニングを永続ストレージを使用して実行できるようにし、ユーザーが基礎となるインフラストラクチャーの知識がなくてもこれらのリソースを要求できるようにします。
永続ボリュームは単一のプロジェクトまたは namespace にバインドされず、それらは OpenShift Container Platform クラスター間で共有できます。PersistentVolumeClaim (永続ボリューム要求、PVC) はプロジェクトまたは namespace に固有のもので、ユーザーによって要求されます。
その他の参考資料
2.7.1. VMware vSphere ボリュームの動的プロビジョニング
VMware vSphere ボリュームの動的プロビジョニングは推奨される方法です。
前提条件
使用するコンポーネントの要件を満たす VMware vSphere バージョンにインストールされている OpenShift Container Platform クラスター。『クラスターの vSphere へのインストール』を参照してください。
以下のいずれかの手順を使用し、デフォルトの StorageClass を使用してそれらのボリュームを動的にプロビジョニングできます。
2.7.1.1. UI を使用した VMware vSphere ボリュームの動的プロビジョニング
OpenShift Container Platform は、ボリュームをプロビジョニングするために thin
ディスク形式を使用する thin
という名前のデフォルトの StorageClass をインストールします。
前提条件
- ストレージは、ボリュームとして OpenShift Container Platform にマウントされる前に基礎となるインフラストラクチャーになければなりません。
手順
-
OpenShift Container Platform コンソールで、Storage
Persistent Volume Claims をクリックします。 - Persistent Volume Claim (永続ボリューム要求、PVC) の概要で、Create Persistent Volume Claim をクリックします。
結果のページで必要なオプションを定義します。
-
thin
StorageClass を選択します。 - ストレージ要求の一意の名前を入力します。
- アクセスモードを選択し、作成されるストレージ要求の読み取り/書き込みアクセスを決定します。
- ストレージ要求のサイズを定義します。
-
- Create をクリックし、 PersistentVolumeClaim を作成し、PersistentVolume を生成します。
2.7.1.2. CLI を使用した VMware vSphere ボリュームの動的プロビジョニング
OpenShift Container Platform は、ボリュームをプロビジョニングするために thin
ディスク形式を使用する thin
という名前のデフォルトの StorageClass をインストールします。
前提条件
- ストレージは、ボリュームとして OpenShift Container Platform にマウントされる前に基礎となるインフラストラクチャーになければなりません。
手順 (CLI)
以下の内容でファイル
pvc.yaml
を作成して VMware vSphere PersistentVolumeClaim を定義できます。kind: PersistentVolumeClaim apiVersion: v1 metadata: name: pvc 1 spec: accessModes: - ReadWriteOnce 2 resources: requests: storage: 1Gi 3
ファイルから PersistentVolumeClaim を作成します。
$ oc create -f pvc.yaml
2.7.2. VMware vSphere ボリュームの静的プロビジョニング
VMware vSphere ボリュームを静的にプロビジョニングするには、永続ボリュームフレームワークが参照する仮想マシンディスクを作成する必要があります。
前提条件
- ストレージは、ボリュームとして OpenShift Container Platform にマウントされる前に基礎となるインフラストラクチャーになければなりません。
手順
仮想マシンディスクを作成します。VMware vSphere ボリュームを静的にプロビジョニングする前に、仮想マシンディスク (VMDK) を手動で作成する必要があります。以下の方法のいずれかを使用します。
vmkfstools
を使用して作成します。セキュアシェル (SSH) を使用して ESX にアクセスし、以下のコマンドを使用して vmdk ボリュームを作成します。$ vmkfstools -c <size> /vmfs/volumes/DatastoreName/volumes/<disk-name>.vmdk
vmware-diskmanager
を使用して作成します。$ shell vmware-vdiskmanager -c -t 0 -s <size> -a lsilogic <disk-name>.vmdk
VMDK を参照する PersistentVolume を作成します。PersistentVolume オブジェクト定義を使用して
pv.yaml
ファイルを作成します。apiVersion: v1 kind: PersistentVolume metadata: name: pv 1 spec: capacity: storage: 2Gi 2 accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain vsphereVolume: 3 volumePath: "[datastore1] volumes/myDisk" 4 fsType: ext4 5
- 1
- ボリュームの名前。この名前は PersistentVolumeClaim または Pod で識別されるものです。
- 2
- このボリュームに割り当てられるストレージの量。
- 3
- vSphere ボリュームの
vsphereVolume
で使用されるボリュームタイプ。ラベルは vSphere VMDK ボリュームを Pod にマウントするために使用されます。ボリュームの内容はアンマウントされても保持されます。このボリュームタイプは、VMFS データストアと VSAN データストアの両方がサポートされます。 - 4
- 使用する既存の VMDK ボリューム。前述のように、ボリューム定義でデータストア名を角かっこ
[]
で囲む必要があります。 - 5
- マウントするファイルシステムタイプです。ext4、xfs、または他のファイルシステムなどが例になります。
重要ボリュームをフォーマットしてプロビジョニングした後に fsType パラメーターの値を変更すると、データ損失や Pod にエラーが発生する可能性があります。
ファイルから PersistentVolume を作成します。
$ oc create -f pv.yaml
2.7.2.1. VMware vSphere ボリュームのフォーマット
OpenShift Container Platform は、ボリュームをマウントしてコンテナーに渡す前に、PersistentVolume (PV) 定義の fsType
パラメーター値で指定されたファイルシステムがボリュームに含まれることを確認します。デバイスが指定されたファイルシステムでフォーマットされていない場合、デバイスのデータはすべて消去され、デバイスはそのファイルシステムで自動的にフォーマットされます。
OpenShift Container Platform は初回の使用前にフォーマットするため、フォーマットされていない vSphere ボリュームを PV として使用できます。