OpenShift Container Storage is now OpenShift Data Foundation starting with version 4.9.
3.3. Rook-Ceph Operator
Rook-Ceph Operator は、OpenShift Data Foundation の Ceph の Rook Operator です。Rook を使用すると、Ceph ストレージシステムを OpenShift Container Platform で実行できます。
Rook-Ceph Operator は、ストレージクラスターを自動的にブートストラップし、ストレージデーモンを監視してストレージクラスターが正常であることを確認する単純なコンテナーです。
3.3.1. コンポーネント
Rook-Ceph Operator は、OpenShift Data Foundation デプロイメントの一部として多数のコンポーネントを管理します。
- Ceph-CSI ドライバー
-
この Operator は、CSI ドライバー (RADOS ブロックデバイス (RBD) および Ceph ファイルシステム (CephFS) のそれぞれに対するプロビジョナーを含む)、ならびにその各ドライバーにボリュームプラグイン
daemonset
を作成し、更新します。 - Ceph デーモン
- Mons
- モニター (mons) は Ceph のコアメタデータストアを提供します。
- OSD
- オブジェクトストレージデーモン (OSD) は、データを基礎となるデバイスに保存します。
- Mgr
- マネージャー (mgr) はメトリックを収集し、Ceph の他の内部機能を提供します。
- RGW
- RADOS Gateway(RGW) は、オブジェクトストアに S3 エンドポイントを提供します。
- MDS
- メタデータサーバー (MDS) は CephFS 共有ボリュームを提供します。
3.3.2. 設計ダイアグラム
以下の図は、Ceph Rook を OpenShift Container Platform と統合する方法を示しています。
図3.3 Rook-Ceph Operator

OpenShift Container Platform クラスターで Ceph が実行されている場合、OpenShift Container Platform アプリケーションは、Rook-Ceph によって管理されるブロックデバイスおよびファイルシステムをマウントしたり、オブジェクトストレージに S3/Swift API を使用したりできます。
3.3.3. 責任
Rook-Ceph Operator は、ストレージクラスターをブートストラップし、監視するコンテナーです。以下の機能を実行します。
- ストレージコンポーネントの設定を自動化する
- Ceph モニター Pod および Ceph OSD デーモンの開始、監視、および管理を行い、RADOS ストレージクラスターを提供する
Pod およびその他のアーティファクトを初期化し、以下を管理するサービスを実行する
- プールの CRD
- オブジェクトストア (S3/Swift)
- ファイルシステム
- Ceph mons および OSD を監視して、ストレージが利用可能で、正常な状態にあることを確認する
- クラスターサイズに基づいて mon 設定を調整しつつ、Ceph mons 配置をデプロイし、管理する
- API サービスによって要求される必要な状態変更を監視し、変更を適用する
- ストレージの使用に必要な Ceph-CSI ドライバーを初期化する
- ストレージを Pod にマウントするように Ceph-CSI ドライバーを自動的に設定する
Rook-Ceph Operator アーキテクチャー
Rook-Ceph Operator イメージには、クラスターを管理するのに必要なすべてのツールが含まれます。データパスへの変更はありません。ただし、Operator はすべての Ceph 設定を公開しません。配置グループやクラッシュマップなどの Ceph 機能の多くはユーザーに表示されなくなり、物理リソース、プール、ボリューム、ファイルシステム、およびバケットにおけるユーザーエクスペリエンスが改善されました。
3.3.4. 関連情報
Rook-Ceph Operator は、openshift-storage
namespace に作成するすべてのリソースに所有者参照を追加します。クラスターがアンインストールされると、所有者参照により、リソースがすべてクリーンアップされるようにします。これには、configmaps
、secrets
、services
、deployments
, daemonsets
などの OpenShift Container Platform リソースが含まれます。
Rook-Ceph Operator は CR を監視し、CephCluster
、CephObjectStore
、CephFilesystem
、CephBlockPool
などの OpenShift Data Foundation によって決定されます。
3.3.5. ライフサイクル
Rook-Ceph Operator は、Ceph クラスターで以下の Pod のライフサイクルを管理します。
- Rook Operator
- クラスターの調整を所有する単一 Pod。
- RBD CSI ドライバー
- 単一デプロイメントで管理される 2 つのプロビジョナー Pod。
-
daemonset
によって管理されるノードごとに 1 つのプラグイン Pod。
- CephFS CSI Driver
- 単一デプロイメントで管理される 2 つのプロビジョナー Pod。
-
daemonset
によって管理されるノードごとに 1 つのプラグイン Pod。
- モニター (mons)
3 つの mon Pod (それぞれに独自のデプロイメント)。
- ストレッチクラスター
- 5 つの mon Pod (Arbiter ゾーンに 1 つとその他の 2 つのデータゾーンにそれぞれ 2 つずつ) が含まれます。
- マネージャー (mgr)
クラスターに単一の mgr Pod があります。
- ストレッチクラスター
- 2 つのマネージャー Pod (OpenShift Data Foundation 4.8 以降) があり、アービターゾーン以外の 2 つのゾーンに 1 つずつあります。
- オブジェクトストレージデーモン (OSD)
- 3 つ以上の OSD がクラスターに最初に作成されます。クラスターが拡張すると、さらに OSD が追加されます。
- メタデータサーバー (MDS)
- CephFS メタデータサーバーには単一の Pod があります。
- RADOS ゲートウェイ (RGW)
- Ceph RGW デーモンには単一の Pod があります。