3.5. ブロックボリュームのサポート

OpenShift Container Platform は、raw ブロックボリュームを静的にプロビジョニングできます。これらのボリュームにはファイルシステムがなく、ディスクに直接書き込むアプリケーションや、独自のストレージサービスを実装するアプリケーションにはパフォーマンス上の利点があります。

raw ブロックボリュームは、PV および PVC 仕様で volumeMode: Block を指定してプロビジョニングされます。

重要

raw ブロックボリュームを使用する Pod は、特権付きコンテナーを許可するように設定する必要があります。

以下の表は、ブロックボリュームをサポートするボリュームプラグインを表示しています。

表3.4 ブロックボリュームのサポート

ボリュームプラグイン手動のプロビジョニング動的なプロビジョニング完全対応

AWS EBS

Azure Disk

Azure File

   

Cinder

 

ファイバーチャネル

 

GCP

HostPath

   

iSCSI

 

ローカルボリューム

 

NFS

   

Red Hat OpenShift Container Storage

VMware vSphere

注記

手動でプロビジョニングできるものの、完全にサポートされていないブロックボリュームはいずれも、テクノロジープレビューとしてのみ提供されます。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。Red Hat のテクノロジープレビュー機能のサポート範囲についての詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

3.5.1. ブロックボリュームの例

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
volumeModeBlock に設定して、この PV が raw ブロックボリュームであることを示します。

PVC の例

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: block-pvc
spec:
  accessModes:
    - ReadWriteOnce
  volumeMode: Block 1
  resources:
    requests:
      storage: 10Gi

1
volumeModeBlock に設定して、raw ブロック PVC が要求されていることを示します。

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

1
volumeMounts ではなく volumeDevices がブロックデバイスに使用されます。PersistentVolumeClaim ソースのみを raw ブロックボリュームと共に使用できます。
2
mountPath ではなく devicePath が raw ブロックがシステムにマップされる物理デバイスへのパスを表します。
3
ボリュームソースのタイプは persistentVolumeClaim であり、予想通りに PVC の名前に一致する必要があります。

表3.5 volumeMode の許容値

デフォルト

Filesystem

Yes

Block

No

表3.6 ブロックボリュームのバインディングシナリオ

PV volumeModePVC volumeModeバインディングの結果

Filesystem

Filesystem

バインド

Unspecified

Unspecified

バインド

Filesystem

Unspecified

バインド

Unspecified

Filesystem

バインド

Block

Block

バインド

Unspecified

Block

バインドなし

Block

Unspecified

バインドなし

Filesystem

Block

バインドなし

Block

Filesystem

バインドなし

重要

値を指定しないと、Filesystem のデフォルト値が指定されます。