4.3. ストレージクラスターの作成
OpenShift Data Foundation オペレーター自体はストレージ機能を提供しないため、必要なストレージ設定を定義する必要があります。
オペレーターをインストールした後、OpenShift Container Platform コンソールウィザードまたは CLI のいずれかを使用して、新しい StorageCluster
を作成し、ocs-operator
がこの StorageCluster
を調整します。OpenShift Data Foundation は、インストールごとに 1 つの StorageCluster
をサポートします。最初の CR の後に作成された StorageCluster
CR は、ocs-operator
によって無視されます。
OpenShift Data Foundation では、以下の 3 つの StorageCluster 設定が可能です。
- 内部
-
内部モードでは、すべてのコンポーネントが OpenShift Container Platform クラスター内でコンテナー化されて実行され、インストールウィザードで管理者が指定した
StorageClass
に対して作成された、動的にプロビジョニングされた永続ボリューム (PV) を使用します。 - 内部割り当て
-
このモードは内部モードに似ていますが、管理者は、Ceph がバッキングストレージに使用するクラスターノードに直接接続されているローカルストレージデバイスを定義する必要があります。また、管理者は、ローカルストレージオペレーターが
StorageClass
を提供するために調整する CR を作成する必要があります。ocs-operator
は、このStorageClass
を Ceph のバッキングストレージとして使用します。 - 外部
- このモードでは、Ceph コンポーネントは OpenShift Container Platform クラスター内で実行されません。代わりに、アプリケーションが PV を作成できる外部の OpenShift Container Storage インストールへの接続が提供されます。他のコンポーネントは、必要に応じてクラスター内で実行されます。
MCG スタンドアロン: このモードでは、CephCluster を伴わずに Multicloud Object Gateway システムを簡単にインストールできます。
StorageCluster
CR が見つかった後、ocs-operator
はそれを検証し、ストレージコンポーネントを定義するための後続のリソースの作成を開始します。
4.3.1. 内部モードストレージクラスター
内部ストレージクラスターと内部接続ストレージクラスターの両方で、次のような同じセットアッププロセスがあります。
| クラスターアプリケーションが Ceph ボリュームの作成に使用するストレージクラスを作成します。 |
| クラスターアプリケーションが Ceph ボリュームのスナップショットを作成するのに使用するボリュームスナップショットクラスを作成します。 |
Ceph RGW 設定 | さまざまな Ceph オブジェクト CR を作成して、Ceph RGW オブジェクトストレージエンドポイントへのアクセスを有効にして提供します。 |
Ceph RBD 設定 |
|
CephFS 設定 |
|
Rook-Ceph 設定 |
基礎となる Ceph クラスターの全体的な動作を管理する |
|
|
|
|
ジョブテンプレート |
OpenShift Container Storage の管理操作を実行するジョブを定義する |
クイックスタート |
Web コンソールにクイックスタートガイドを表示する |
4.3.1.1. クラスターの作成
ocs-operator
が CephCluster
CR を作成した後、rook-operator
は目的の設定に従って Ceph クラスターを作成します。rook-operator
は、次のコンポーネントを設定します。
Ceph |
3 つの Ceph |
Ceph | このデーモンが起動し、クラスターのメトリックを収集して Prometheus に報告します。 |
Ceph OSD |
これらの OSD は、 |
CSI プロビジョナー |
これらのプロビジョナーは RBD と |
CSI ボリュームプラグインおよび |
RBD および |
CephCluster
CR が設定された後、Rook は残りの Ceph CR を調整してセットアップを完了します。
|
|
|
|
|
|
|
|
オペレーターは Ceph の状態を監視して、ストレージプラットフォームが正常な状態を維持していることを確認します。mon
デーモンが長時間 (10 分) ダウンした場合、Rook はその場所で新しい mon
を開始し、クォーラム全体を完全に復元できるようにします。
ocs-operator
が CephCluster
CR を更新すると、Rook は要求された変更に即座に応答して、クラスター設定を更新します。
4.3.1.2. NooBaa システムの作成
NooBaa システムが作成されると、mcg-operator
は以下を調整します。
デフォルトの BackingStore
OpenShift Container Platform および OpenShift Data Foundation がデプロイされているプラットフォームに応じて、バケットが配置ポリシーに使用できるように、デフォルトのバッキングストアリソースが作成されます。さまざまなオプションは次のとおりです。
Amazon Web Services (AWS) のデプロイ |
|
Microsoft Azure のデプロイ |
|
Google Cloud Platform (GCP) のデプロイ |
|
オンプレミスデプロイメント |
RGW が存在する場合、 |
前述のデプロイメントはいずれも適用できません |
|
デフォルトの BucketClass
デフォルトの BucketClass
への配置ポリシーを持つ BackingStore
。
NooBaa Pod
次の Noo Baa Pod が作成され、開始します。
データベース (DB) | これは、メタデータ、統計、イベントなどを保持する Postgres DB です。ただし、保存されている実際のデータは保持されません。 |
コア | これは、設定、バックグラウンドプロセス、メタデータ管理、統計などを処理する Pod です。 |
エンドポイント |
これらの Pod は、重複排除や圧縮、さまざまなサービスとの通信によるデータの書き込みと読み取りなど、実際の I/O 関連の作業を実行します。エンドポイントは、 |
ルート
NooBaa S3 インターフェイスのルートは、S3 を使用するアプリケーション用に作成されます。
サービス
NooBaa S3 インターフェイスのサービスは、S3 を使用するアプリケーション用に作成されます。