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

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

OpenShift Container Platform は AWS Elastic Block Store volumes (EBS) をサポートします。Amazon EC2 を使用して、OpenShift Container Platform クラスターに永続ストレージをプロビジョニングできます。これには、Kubernetes および AWS についてのある程度の理解があることが前提となります。

Kubernetes 永続ボリュームフレームワークは、管理者がクラスターのプロビジョニングを永続ストレージを使用して実行できるようにし、ユーザーが基礎となるインフラストラクチャーの知識がなくてもこれらのリソースを要求できるようにします。AWS Elastic Block Store ボリュームは動的にプロビジョニングできます。永続ボリュームは単一のプロジェクトまたは namespace にバインドされず、それらは OpenShift Container Platform クラスター間で共有できます。永続ボリューム要求 (PVC) はプロジェクトまたは namespace に固有のもので、ユーザーによって要求されます。

重要

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

3.1.1. 追加リソース

3.1.2. EBS ストレージクラスの作成

ストレージクラスを使用すると、ストレージのレベルや使用状況を区別し、記述することができます。ストレージクラスを定義することにより、ユーザーは動的にプロビジョニングされた永続ボリュームを取得できます。

手順

  1. OpenShift Container Platform コンソールで、StorageStorage Classes をクリックします。
  2. ストレージクラスの概要では、Create Storage Class をクリックします。
  3. 表示されるページで必要なオプションを定義します。

    1. ストレージクラスを参照するための名前を入力します。
    2. オプションの説明を入力します。
    3. 回収ポリシーを選択します。
    4. ドロップダウンリストから kubernetes.io/aws-ebs を選択します。
    5. 必要に応じてストレージクラスの追加パラメーターを入力します。
  4. Create をクリックしてストレージクラスを作成します。

3.1.3. 永続ボリューム要求 (PVC) の作成

前提条件

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

手順

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

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

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

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

これにより、OpenShift Container Platform がフォーマットされていない AWS ボリュームを初回の使用前にフォーマットするため、それらを永続ボリュームとして使用することが可能になります。

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

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

重要

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