永続ブロック・ボリューム・ストレージの作成
Compute Cloud@Customer Block Volumeサービスは、コンテナの外部にデータを格納するために使用できる永続的で耐久性のある高パフォーマンスのブロック・ストレージを提供します。
このプロシージャは、リクエストされたoci-bvストレージ・クラスを自動的に作成します。作成する必要はありません。このプロシージャは、kubectlコマンドを使用して永続ボリューム要求を作成することから始まります。
-
永続ボリューム要求を作成し、ストレージ・クラス名
oci-bvを指定します。$ kubectl create -f csi-bvs-pvc.yamlcsi-bvs-pvc.yamlファイルの内容は次のとおりです。apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mynginxclaim spec: storageClassName: "oci-bv" accessModes: - ReadWriteOnce resources: requests: storage: 50Gimetadataセクションの永続ボリューム要求名はユーザー指定です。1つの永続ボリュームに対して複数の永続ボリュームを要求できます。accessModesの値には、ReadWriteOnceを指定します。ReadWriteManyは使用しないでください。storageプロパティの値は50GB以上である必要があります。 -
次のコマンドを実行して、PVCが作成されたことを確認します:
$ kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESSMODES STORAGECLASS AGE mynginxclaim Pending oci-bv 4mPVCのステータスは
Pendingです。これは、oci-bvストレージ・クラス定義に次のものが含まれているためです。volumeBindingMode: WaitForFirstConsumer -
ポッドなどの他のオブジェクトを作成する場合は、PVCを使用します。
たとえば、次のポッド定義から新しいポッドを作成できます。このポッド定義は、
mynginxclaimPVCを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