4.3.5. ブロックボリュームのサポート
ブロックボリュームサポートは、テクノロジープレビュー機能で、手動でプロビジョニングされた PV でのみ利用できます。
テクノロジープレビュー機能は、Red Hat の実稼働環境でのサービスレベルアグリーメント (SLA) ではサポートされていないため、Red Hat では実稼働環境での使用を推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポートについての詳細は、https://access.redhat.com/ja/support/offerings/techpreview を参照してください。
PV および PVC 仕様に API フィールドを組み込み、raw ブロックボリュームを静的にプロビジョニングできます。
ブロックボリュームを使用するには、まず BlockVolume
機能ゲートを有効にする必要があります。マスターの機能ゲートを有効にするには、feature-gates
を apiServerArguments
および controllerArguments
に追加します。ノードの機能ゲートを有効にするには、feature-gates
を kubeletArguments
に追加します。以下に例を示します。
kubeletArguments: feature-gates: - BlockVolume=true
PV の例
apiVersion: v1
kind: PersistentVolume
metadata:
name: block-pv
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
volumeMode: Block 1
persistentVolumeReclaimPolicy: Retain
fc:
targetWWNs: ["50060e801049cfd1"]
lun: 0
readOnly: false
- 1
volumeMode
フィールドは、この PV が raw ブロックボリュームであることを示します。
PVC の例
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: block-pvc
spec:
accessModes:
- ReadWriteOnce
volumeMode: Block 1
resources:
requests:
storage: 10Gi
- 1
volumeMode
フィールドは、raw ブロック永続ボリュームが要求されていることを示します。
Pod の仕様例
apiVersion: v1 kind: Pod metadata: name: pod-with-block-volume spec: containers: - name: fc-container image: fedora:26 command: ["/bin/sh", "-c"] args: [ "tail -f /dev/null" ] volumeDevices: 1 - name: data devicePath: /dev/xvda 2 volumes: - name: data persistentVolumeClaim: claimName: block-pvc 3
値 | デフォルト |
---|---|
Filesystem | Yes |
Block | No |
PV VolumeMode | PVC VolumeMode | バインディングの結果 |
---|---|---|
Filesystem | Filesystem | バインド |
Unspecified | Unspecified | バインド |
Filesystem | Unspecified | バインド |
Unspecified | Filesystem | バインド |
Block | Block | バインド |
Unspecified | Block | バインドなし |
Block | Unspecified | バインドなし |
Filesystem | Block | バインドなし |
Block | Filesystem | バインドなし |
値を指定しないと、Filesystem のデフォルト値が指定されます。