第4章 永続ストレージの設定


4.1. AWS Elastic Block Store を使用した永続ストレージ

OpenShift Container Platform は、Amazon Elastic Block Store (EBS) ボリュームをサポートします。Amazon EC2 を使用して、OpenShift Container Platform クラスターに永続ストレージをプロビジョニングできます。

Kubernetes 永続ボリュームフレームワークは、管理者がクラスターのプロビジョニングを永続ストレージを使用して実行できるようにし、ユーザーが基礎となるインフラストラクチャーの知識がなくてもこれらのリソースを要求できるようにします。Amazon EBS ボリュームを動的にプロビジョニングできます。永続ボリュームは、単一のプロジェクトまたは namespace にバインドされず、OpenShift Container Platform クラスター全体で共有できます。永続ボリューム要求はプロジェクトまたは namespace に固有のもので、ユーザーによって要求されます。KMS キーを定義して、AWS のコンテナー永続ボリュームを暗号化できます。デフォルトでは、OpenShift Container Platform バージョン 4.10 以降を使用して新しく作成されたクラスターは、gp3 ストレージと AWS EBS CSI ドライバーを使用します。

重要

インフラストラクチャーにおけるストレージの高可用性は、基礎となるストレージのプロバイダーに委ねられています。

重要

OpenShift Container Platform 4.12 以降では、AWS Block インツリーボリュームプラグインと同等の CSI ドライバーに自動的に移行できます。

CSI の自動移行はシームレスに行われる必要があります。移行をしても、永続ボリューム、永続ボリューム要求、ストレージクラスなどの既存の API オブジェクトを使用する方法は変更されません。移行の詳細は、「CSI の自動移行」を参照してください。

4.1.1. EBS ストレージクラスについて

永続ボリュームの動的プロビジョニングを有効にするには、ストレージ特性を定義し、ユーザーがボリュームをオンデマンドで自動的にプロビジョニングできるようにするストレージクラスを作成します。

4.1.2. 永続ボリューム要求の作成

永続ボリューム要求を作成することで、事前に設定されたストレージクラスからストレージを動的にプロビジョニングおよびバインドできます。これにより、アプリケーションが OpenShift Container Platform で永続ストレージを利用できるようになります。

前提条件

  • ストレージは、ボリュームとして OpenShift Container Platform にマウントされる前に基礎となるインフラストラクチャーになければなりません。

手順

  1. OpenShift Container Platform Web コンソールで、Storage Persistent Volume Claims をクリックします。
  2. 永続ボリューム要求の概要で、Create Persistent Volume Claim をクリックします。
  3. 表示されたページで必要なオプションを定義します。

    1. ドロップダウンメニューから以前に作成したストレージクラスを選択します。
    2. ストレージ要求の一意の名前を入力します。
    3. アクセスモードを選択します。この選択により、ストレージクレームの読み取りおよび書き込みアクセスが決定されます。
    4. ストレージ要求のサイズを定義します。
  4. Create をクリックして永続ボリューム要求を作成し、永続ボリュームを生成します。

4.1.3. ボリュームのフォーマット

OpenShift Container Platform はデバイスをコンテナーにマウントする前に自動的にフォーマットするため、フォーマットされていない AWS ボリュームを永続ボリュームとして使用できます。

OpenShift Container Platform は、ボリュームをマウントしてコンテナーに渡す前に、永続ボリューム定義の fsType パラメーターで指定されたファイルシステムがボリュームにあるかどうか確認します。デバイスが指定されたファイルシステムでフォーマットされていない場合、デバイスのデータはすべて消去され、デバイスはそのファイルシステムで自動的にフォーマットされます。

4.1.4. ノード上の EBS ボリュームの最大数

デフォルトでは、1 つのノードに接続できる EBS ボリュームは最大 39 個です。この制限は、AWS ボリュームの制限に合致します。ボリュームの制限は、インスタンスのタイプによって異なります。

重要

クラスター管理者は、In-tree または Container Storage Interface (CSI) ボリュームのいずれかと、それぞれのストレージクラスを使用する必要がありますが、ボリュームの両方のタイプを同時に使用することはできません。割り当てられている EBS ボリュームの最大数は、in-tree および CSI ボリュームに対して別々にカウントされるため、各タイプの EBS ボリュームを最大 39 個使用できます。

4.1.5. KMS キーを使用した AWS 上のコンテナー永続ボリュームの暗号化

AWS へのデプロイ時に明示的なコンプライアンスおよびセキュリティーのガイドラインがある場合、AWS でコンテナー永続ボリュームを暗号化するための KMS キーを定義できます。

前提条件

  • 基盤となるインフラストラクチャーには、ストレージが含まれている必要があります。
  • AWS で顧客 KMS キーを作成する必要があります。

手順

  1. ストレージクラスを作成します。

    $ cat << EOF | oc create -f -
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: <storage-class-name>
    parameters:
      fsType: ext4
      encrypted: "true"
      kmsKeyId: keyvalue
    provisioner: ebs.csi.aws.com
    reclaimPolicy: Delete
    volumeBindingMode: WaitForFirstConsumer
    EOF

    各項目の説明:

    metadata.name
    ストレージクラスの名前を指定します。
    parameters.fsType
    プロビジョニングされたボリューム上に作成されるファイルシステムを指定します。
    parameters.kmsKeyId
    コンテナー永続ボリュームを暗号化するときに使用するキーの完全な Amazon リソースネーム (ARN) を指定します。キーを指定せず、encrypted フィールドが true に設定されていると、デフォルトの KMS キーが使用されます。
  2. KMS キーを指定するストレージクラスで永続ボリューム要求 (PVC) を作成します。

    $ cat << EOF | oc create -f -
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: mypvc
    spec:
      accessModes:
        - ReadWriteOnce
      volumeMode: Filesystem
      storageClassName: <storage-class-name>
      resources:
        requests:
          storage: 1Gi
    EOF
  3. PVC を使用するワークロードコンテナーを作成します。

    $ cat << EOF | oc create -f -
    kind: Pod
    metadata:
      name: mypod
    spec:
      containers:
        - name: httpd
          image: quay.io/centos7/httpd-24-centos7
          ports:
            - containerPort: 80
          volumeMounts:
            - mountPath: /mnt/storage
              name: data
      volumes:
        - name: data
          persistentVolumeClaim:
            claimName: mypvc
    EOF
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る