第1章 Ceph Orchestrator の紹介
ストレージ管理者として、Red Hat Ceph Storage クラスターでデバイスを検出し、サービスを作成する機能を提供する Ceph Orchestrator with Cephadm ユーティリティーを使用できます。
1.1. Ceph Orchestrator の使用 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Ceph Storage Orchestrators は、主に Red Hat Ceph Storage クラスターと、Rook や Cephadm などのデプロイメントツール間のブリッジとして機能するマネージャーモジュールです。また、Ceph コマンドラインインターフェイスおよび Ceph Dashboard と統合します。
以下は、Ceph Orchestrator のワークフローの図です。
Red Hat Ceph Storage 5.1 リリース以降、NFS-Ganesha ゲートウェイはサポート対象外です。
Red Hat Ceph Storage Orchestrators の種類
Red Hat Ceph Storage Orchestrators には、主に 3 つのタイプがあります。
Orchestrator CLI : これらは Orchestrators で使用される一般的な API で、実装できるコマンドセットが含まれます。これらの API は、
ceph-mgrモジュールを外部オーケストレーションサービスとオーケストレートする一般的なコマンドラインインターフェイス (CLI) も提供しています。以下は、Ceph Orchestrator で使用される用語です。- ホスト: これは、物理ホストのホスト名で、コンテナー内の Pod 名、DNS 名、コンテナー名、またはホスト名ではありません。
- サービスタイプ: これは、nfs、mds、osd、mon、rgw、mgr などのサービスのタイプです。
- サービス: モニターサービス、マネージャーサービス、OSD サービス、Ceph Object Gateway サービス、NFS サービスなど、Ceph Storage クラスターが提供する機能サービス。
- デーモン: Ceph Object Gateway サービスなどの 1 つ以上のホストによってデプロイされるサービスの特定のインスタンスでは、3 つの異なるホストで異なる Ceph Object Gateway デーモンを実行することができます。
Cephadm Orchestrator: これは、Rook または Ansible などの外部ツールに依存しない Ceph Orchestrator モジュールであり、SSH 接続を確立し、明示的な管理コマンドを実行することでクラスターのノードを管理します。このモジュールは Day One および Day Two 操作を対象としています。
Cephadm Orchestrator の使用は、Ansible などのデプロイメントフレームワークを使用せずに Ceph Storage クラスターをインストールする推奨方法です。これは、ストレージデバイスのインベントリーの作成、OSD のデプロイメントと交換、Ceph デーモンの起動と停止など、あらゆる管理操作を実行するために、クラスター内のすべてのノードに接続できる SSH 設定および鍵にアクセスできるマネージャーデーモンを提供するものです。さらに、Cephadm Orchestrator は、同一の場所に配置されたサービスの独立したアップグレードを可能にするために、
systemdによって管理されるコンテナーイメージをデプロイします。また、このオーケストレーターでは、Ceph Monitor および Ceph Manager を実行する最低限のクラスターをブートストラップするコマンドなど、現在のホストでコンテナーイメージベースのサービスのデプロイメントを管理するために、必要なすべての操作をカプセル化するツールが重要なポイントとなるでしょう。
Rook Orchestrator: Rook は、Kubernetes Rook operator を使用して Kubernetes クラスター内で実行される Ceph ストレージクラスターを管理するオーケストレーションツールです。rook モジュールは、Ceph の Orchestrator フレームワークと Rook との間の統合を提供します。Rook は、Kubernetes のオープンソースクラウドネイティブストレージ operator です。
Rook は “operator“ モデルに従い、ここでは Ceph ストレージクラスターおよびその望ましい状態を記述するためにカスタムリソース定義 (CRD) オブジェクトが Kubernetes で定義されます。rook operator デーモンは、現在のクラスター状態と望ましい状態を比較する制御ループで実行され、それらを収束させるための手順を実行します。Ceph の望ましい状態を記述する主なオブジェクトは Ceph ストレージクラスター CRD で、どのデバイスが OSD によって消費されるか、実行すべきモニターの数、使用すべき Ceph バージョンなどの情報が含まれます。Rook は、RBD プール、CephFS ファイルシステムなどを記述するために他の複数の CRD を定義します。
Rook Orchestrator モジュールは、
ceph-mgrデーモンで実行されるグルーで、必要なクラスターの状態を記述する Kubernetes で Ceph ストレージクラスターに変更を加えて Ceph オーケストレーション API を実装します。Rook クラスターのceph-mgrデーモンは Kubernetes Pod として実行されているため、rook モジュールは明示的な設定がなくても Kubernetes API に接続できます。