4.3. Azure File を使用した永続ストレージ
OpenShift Container Platform では、Microsoft Azure File ボリュームがサポートされます。Azure を使用して、OpenShift Container Platform クラスターに永続ストレージをプロビジョニングできます。これには、Kubernetes と Azure についてある程度の理解があることが前提となります。
Kubernetes 永続ボリュームフレームワークは、管理者がクラスターのプロビジョニングを永続ストレージを使用して実行できるようにし、ユーザーが基礎となるインフラストラクチャーの知識がなくてもこれらのリソースを要求できるようにします。Azure File ボリュームを動的にプロビジョニングできます。
永続ボリュームは、単一のプロジェクトまたは namespace にバインドされず、OpenShift Container Platform クラスター全体で共有できます。永続ボリューム要求はプロジェクトまたは namespace に固有のもので、アプリケーションで使用できるようにユーザーによって要求されます。
インフラストラクチャーにおけるストレージの高可用性は、基礎となるストレージのプロバイダーに委ねられています。
Azure File ボリュームは Server Message Block を使用します。
OpenShift Container Platform 4.13 以降では、Azure File インツリーボリュームプラグインを同等の CSI ドライバーに自動的に移行します。
CSI 自動移行はシームレスに行ってください。移行をしても、永続ボリューム、永続ボリューム要求、ストレージクラスなどの既存の API オブジェクトを使用する方法は変更されません。移行の詳細は、「CSI の自動移行」を参照してください。
関連情報
4.3.1. Azure File 共有永続ボリューム要求の作成 リンクのコピーリンクがクリップボードにコピーされました!
永続ボリューム要求を作成するには、最初に Azure アカウントおよびキーを含む Secret オブジェクトを定義する必要があります。このシークレットは PersistentVolume 定義に使用され、アプリケーションで使用できるように永続ボリューム要求によって参照されます。
前提条件
- Azure File 共有があること。
- この共有にアクセスするための認証情報 (とくにストレージアカウントおよびキー) が利用可能であること。
手順
Azure File の認証情報が含まれる
Secretオブジェクトを作成します。$ oc create secret generic __<secret-name>__ --from-literal=azurestorageaccountname=__<storage-account> --from-literal=azurestorageaccountkey=__<storage-account-key>各項目の説明:
<secret-name>- Azure File ストレージアカウント名を指定します。
<storage-account-key>- Azure File ストレージアカウントキーを指定します。
作成した
Secretオブジェクトを参照するPersistentVolumeを作成します。apiVersion: "v1" kind: "PersistentVolume" metadata: name: "pv0001" spec: capacity: storage: "5Gi" accessModes: - "ReadWriteOnce" storageClassName: azure-file-sc azureFile: secretName: <secret-name> shareName: <share-name> readOnly: false各項目の説明:
metadata.name- 永続ボリュームの名前を指定します。
spec.capacity.storage-
この永続ボリュームのサイズを指定します (例:
5Gi)。 spec.azureFile.secretName- Azure File 共有の認証情報を含むシークレットの名前を指定します。
spec.azureFile.shareName- Azure File 共有の名前を指定します。
作成した永続ボリュームにマップする
PersistentVolumeClaimオブジェクトを作成します。apiVersion: "v1" kind: "PersistentVolumeClaim" metadata: name: "claim1" spec: accessModes: - "ReadWriteOnce" resources: requests: storage: "5Gi" storageClassName: azure-file-sc volumeName: "pv0001"各項目の説明:
metadata.name- 永続ボリューム要求の名前を指定します。
spec.resources.requests.storage-
この永続ボリューム要求のサイズを指定します (例:
5Gi)。 spec.storageClassName-
Azure File 共有を参照する既存の
PersistentVolumeオブジェクトの名前を指定します。PersistentVolume定義で使用されるストレージクラスを指定します。 spec.volumeName-
Azure File 共有を参照する既存の
PersistentVolumeオブジェクトの名前を指定します。