4.8. iSCSI を使用した永続ストレージ
iSCSI を使用して、OpenShift Container Platform クラスターに永続ストレージをプロビジョニングできます。これには、Kubernetes と iSCSI についてある程度の理解があることが前提となります。
Kubernetes 永続ボリュームフレームワークは、管理者がクラスターのプロビジョニングを永続ストレージを使用して実行できるようにし、ユーザーが基礎となるインフラストラクチャーの知識がなくてもこれらのリソースを要求できるようにします。
インフラストラクチャーにおけるストレージの高可用性は、基礎となるストレージのプロバイダーに委ねられています。
Amazon Web Services で iSCSI を使用する場合、iSCSI ポートのノード間の TCP トラフィックを組み込むようにデフォルトのセキュリティーポリシーを更新する必要があります。デフォルトで、それらのポートは 860 および 3260 です。
iscsi-initiator-utils パッケージをインストールし、/etc/iscsi/initiatorname.iscsi でイニシエーター名を設定して、iSCSI イニシエーターがすべての OpenShift Container Platform ノードですでに設定されていることを確認しておく。iscsi-initiator-utils パッケージは、Red Hat Enterprise Linux CoreOS (RHCOS) を使用するデプロイメントにすでにインストールされている。
詳細は、ストレージデバイスの管理 を参照してください。
4.8.1. プロビジョニング リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform でストレージをボリュームとしてマウントする前に、基礎となるインフラストラクチャーにストレージが存在することを確認します。iSCSI に必要になるのは、iSCSI ターゲットポータル、有効な iSCSI 修飾名 (IQN)、有効な LUN 番号、ファイルシステムタイプ、および PersistentVolume API のみです。
手順
-
以下の
PersistentVolumeオブジェクト定義を作成して、OpenShift Container Platform でストレージをボリュームとしてマウントする前に、基礎となるインフラストラクチャーにストレージが存在することを確認します。
PersistentVolume オブジェクト定義
4.8.2. ディスククォータの実施 リンクのコピーリンクがクリップボードにコピーされました!
LUN パーティションを使用してディスククォータとサイズ制限を実施します。それぞれの LUN には 1 つの永続ボリュームです。Kubernetes では、永続ボリュームに一意の名前を使用する必要があります。
この方法でクォータを実施すると、ユーザーは永続ストレージを具体的な量( 10Giなど)で要求することができ、同等かそれ以上の容量の対応するボリュームに一致させることができます。
4.8.3. iSCSI ボリュームのセキュリティー リンクのコピーリンクがクリップボードにコピーされました!
ユーザーは PersistentVolumeClaim オブジェクトでストレージを要求します。この要求はユーザーの namespace にのみ存在し、同じ namespace 内の Pod からのみ参照できます。namespace をまたいで永続ボリューム要求にアクセスしようとすると、Pod にエラーが発生します。
それぞれの iSCSI LUN は、クラスター内のすべてのノードからアクセスできる必要があります。
4.8.3.1. チャレンジハンドシェイク認証プロトコル (CHAP) 設定 リンクのコピーリンクがクリップボードにコピーされました!
オプションで、OpenShift Container Platform は CHAP を使用して iSCSI ターゲットに対して自己認証を実行できます。
4.8.4. iSCSI のマルチパス化 リンクのコピーリンクがクリップボードにコピーされました!
iSCSI ベースのストレージの場合は、複数のターゲットポータルの IP アドレスに同じ IQN を使用することでマルチパスを設定できます。マルチパス化により、パス内の 1 つ以上のコンポーネントで障害が発生した場合でも、永続ボリュームにアクセスすることができます。
手順
-
Pod 仕様でマルチパスを指定するには、
PersistentVolumedefintion オブジェクトのportalsフィールドに値を指定します。
portals フィールドで値が指定された PersistentVolume オブジェクトの例。
- 1
portalsフィールドを使用してターゲットポータルを追加します。
4.8.5. iSCSI のカスタムイニシエーター IQN リンクのコピーリンクがクリップボードにコピーされました!
iSCSI ターゲットが特定に IQN に制限されている場合に、カスタムイニシエーターの iSCSI Qualified Name (IQN) を設定します。ただし、iSCSI PV が割り当てられているノードが必ずこれらの IQN を使用する保証はありません。
手順
-
カスタムのイニシエーター IQN を指定するには、
PersistentVolume定義オブジェクトのinitiatorNameフィールドを更新します。
initiatorName フィールドで指定された値を持つ PersistentVolume オブジェクトの例。
- 1
- イニシエーターの名前を指定します。