永続ブロック・ボリューム・ストレージの作成
Compute Cloud@Customer Block Volumeサービスは、コンテナの外部にデータを格納するために使用できる永続的で耐久性のある高パフォーマンスのブロック・ストレージを提供します。
このプロシージャは、リクエストされたoci-bv
ストレージ・クラスを自動的に作成します。作成する必要はありません。このプロシージャは、kubectl
コマンドを使用して永続ボリューム要求を作成することから始まります。
-
永続ボリューム要求を作成し、ストレージ・クラス名
oci-bv
を指定します。$ kubectl create -f csi-bvs-pvc.yaml
csi-bvs-pvc.yaml
ファイルの内容は次のとおりです。apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mynginxclaim spec: storageClassName: "oci-bv" accessModes: - ReadWriteOnce resources: requests: storage: 50Gi
metadata
セクションの永続ボリューム要求名はユーザー指定です。1つの永続ボリュームに対して複数の永続ボリュームを要求できます。accessModes
の値には、ReadWriteOnce
を指定します。ReadWriteMany
は使用しないでください。storage
プロパティの値は50GB以上である必要があります。 -
次のコマンドを実行して、PVCが作成されたことを確認します:
$ kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESSMODES STORAGECLASS AGE mynginxclaim Pending oci-bv 4m
PVCのステータスは
Pending
です。これは、oci-bv
ストレージ・クラス定義に次のものが含まれているためです。volumeBindingMode: WaitForFirstConsumer
-
ポッドなどの他のオブジェクトを作成する場合は、PVCを使用します。
たとえば、次のポッド定義から新しいポッドを作成できます。このポッド定義は、
mynginxclaim
PVCをnginx
ボリュームとして使用するようにシステムに指示します。このボリュームは、/data
でポッドによってマウントされます。apiVersion: v1 kind: Pod metadata: name: nginx spec: containers: - name: nginx image: nginx:latest ports: - name: http containerPort: 80 volumeMounts: - name: data mountPath: /usr/share/nginx/html volumes: - name: data persistentVolumeClaim: claimName: mynginxclaim
次のコマンドを実行して、PVCが新しいPVにバインドされていることを確認します。
$ kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESSMODES STORAGECLASS AGE mynginxclaim Bound csi-unique_ID 50Gi RWO oci-bv
次のコマンドを実行して、ポッドが新しいPVCを使用していることを確認します。
$ kubectl describe pod nginx