5.10. Azure Disk CSI Driver Operator
5.10.1. 概要
OpenShift Container Platform は、 Microsoft Azure Disk Storage の Container Storage Interface (CSI) ドライバーを使用して永続ボリューム (PV) をプロビジョニングできます。
CSI Operator およびドライバーを使用する場合、永続ストレージ および CSI ボリュームの設定 について理解しておくことが推奨されます。
Azure Disk ストレージアセットにマウントする CSI でプロビジョニングされた永続ボリューム (PV) を作成するには、OpenShift Container Platform は、デフォルトで Azure Disk CSI Driver Operator および Azure Disk CSI ドライバーを openshift-cluster-csi-drivers
namespace にインストールします。
-
Azure Disk CSI Driver Operator: 永続ボリューム要求 (PVC) の作成に使用できる
managed-csi
というストレージクラスを提供します。Azure Disk CSI ドライバー Operator は、ストレージボリュームをオンデマンドで作成できるようにし、クラスター管理者がストレージを事前にプロビジョニングする必要がなくすことで、動的ボリュームのプロビジョニングをサポートします。 - Azure Disk CSI ドライバー を使用すると、Azure Disk PV を作成し、マウントできます。
5.10.2. CSI について
ストレージベンダーはこれまで Kubernetes の一部としてストレージドライバーを提供してきました。Container Storage Interface (CSI) の実装では、サードパーティーのプロバイダーは、コア Kubernetes コードを変更せずに標準のインターフェイスを使用してストレージプラグインを提供できます。
CSI Operator は、in-tree (インツリー) ボリュームプラグインでは不可能なボリュームスナップショットなどのストレージオプションを OpenShift Container Platform ユーザーに付与します。
OpenShift Container Platform は、Azure Disk ストレージをプロビジョニングするためにデフォルトで in-tree または CSI 以外のドライバーの使用に設定されます。
今後の OpenShift Container Platform バージョンでは、既存の in-tree プラグインを使用してプロビジョニングされるボリュームは、同等の CSI ドライバーに移行される予定です。CSI 自動マイグレーションはシームレスに行ってください。移行をしても、永続ボリューム、永続ボリューム要求、ストレージクラスなどの既存の API オブジェクトを使用する方法は変更されません。移行についての詳細は、CSI の自動移行 を参照してください。
完全な移行後、in-tree プラグインは最終的に OpenShift Container Platform の今後のバージョンで削除されます。
5.10.3. ストレージアカウントタイプを使用したストレージクラスの作成
ストレージクラスを使用すると、ストレージのレベルや使用状況を区別し、記述することができます。ストレージクラスを定義することで、動的にプロビジョニングされた永続ボリュームを取得できます。
ストレージクラスを作成するときに、ストレージアカウントの種類を指定できます。これは、Azure ストレージアカウントの SKU の層に対応します。有効なオプションは、Standard_LRS
、Premium_LRS
、StandardSSD_LRS
、UltraSSD_LRS
、Premium_ZRS
、および StandardSSD_ZRS
です。Azure SKU レベルを見つける方法については、SKU Types を参照してください。
ZRS には、リージョン制限があります。これらの制限については、ZRS の制限 を参照してください。
前提条件
- 管理者権限を持つ OpenShift Container Platform クラスターへのアクセス
手順
次の手順を使用して、ストレージアカウントの種類でストレージクラスを作成します。
次のような YAML ファイルを使用して、ストレージアカウントの種類を指定するストレージクラスを作成します。
$ oc create -f - << EOF apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: <storage-class> 1 provisioner: disk.csi.azure.com parameters: skuName: <storage-class-account-type> 2 reclaimPolicy: Delete volumeBindingMode: WaitForFirstConsumer allowVolumeExpansion: true EOF
ストレージクラスを一覧表示して、ストレージクラスが作成されたことを確認します。
$ oc get storageclass
出力例
$ oc get storageclass NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE azurefile-csi file.csi.azure.com Delete Immediate true 68m managed-csi (default) disk.csi.azure.com Delete WaitForFirstConsumer true 68m sc-prem-zrs disk.csi.azure.com Delete WaitForFirstConsumer true 4m25s 1
- 1
- ストレージアカウントタイプを使用する新しいストレージクラス。