OpenShift Container Storage is now OpenShift Data Foundation starting with version 4.9.
3.4. MCG Operator
Multicloud Object Gateway (MCG) operator は、OpenShift Data Foundation operator および Rook-Ceph operator とともに、OpenShift Data Foundation の operator です。MCG operator は、スタンドアロン operator としてアップストリームで使用できます。
MCG operator は、次の主要な機能を実行します。
- OpenShift Data Foundation 内で Multicloud Object Gateway (MCG) コンポーネントを制御し、調整します。
- Object Bucket Claim(オブジェクトバケット要求、バケットクラス、バッキングストアなどの新規ユーザーリソース) を管理します。
- デフォルトですぐに使用可能なリソースを作成します。
一部の設定および情報は、OpenShift Data Foundation Operator 経由で MCG Operator に渡されます。
3.4.1. コンポーネント
MCG operator には、サブコンポーネントがありません。ただし、これは、それによって制御されるさまざまなリソースの調整ループで設定されます。
MCG Operator にはコマンドラインインターフェイス (CLI) があり、OpenShift Data Foundation の一部として利用できる。これにより、各種リソースの作成、削除、およびクエリーが可能になります。この CLI は、YAML ファイルを直接適用するのではなく、設定が適用される前に、入力サニタイテーションおよびステータス検証のレイヤーを追加します。
3.4.2. 責任およびリソース
MCG Operator はカスタムリソース定義 (CRD) および OpenShift Container Platform エンティティーについて調整されます。
- バッキングストア
- namespace ストア
- Bucket クラス
- Object Bucket Claim(オブジェクトバケット要求)
- NooBaa、Pod ステートフルセット CRD
- Prometheus ルールおよびサービスモニタリング
- Horizontal pod autoscaler (HPA)
バッキングストア
お客様が MCG コンポーネントに接続されているリソース。このリソースは、プロビジョニングされたバケットのデータを MCG に保存する機能を提供します。
デフォルトのバッキングストアは、OpenShift Container Platform が実行しているプラットフォームに応じてデプロイメントの一部として作成されます。たとえば、OpenShift Container Platform または OpenShift Data Foundation が Amazon Web Services (AWS) にデプロイされる場合は、AWS::S3 バケットであるデフォルトのバッキングストアになります。同様に、Microsoft Azure の場合、デフォルトのバッキングストアは Blob コンテナーなどです。
デフォルトのバッキングストアは、OpenShift Container Platform に含まれるクラウド認証情報 Operator の CRD を使用して作成されます。MCG に追加できるバッキングストアの量に制限はありません。バッキングストアは、バケットの異なるポリシーを定義するためにバケットクラス CRD で使用されます。バッキングストアとしてサポートされるサービスまたはリソースのタイプを特定するには、特定の OpenShift Data Foundation バージョンのドキュメントを参照してください。
namespace ストア
namespace バケットで使用されるリソース。デプロイメント時に、デフォルトは作成されません。
Bucketclass
新しくプロビジョニングされたバケットのデフォルトまたは初期ポリシー。以下のポリシーは、バケットクラスに設定されます。
- 配置ポリシー
バケットに割り当てられるバッキングストアを示し、バケットのデータの書き込みに使用します。このポリシーはデータバケットに使用され、キャッシュポリシーでローカルキャッシュの配置を指定します。配置ポリシーのモードは 2 つあります。
- Spread。定義されたバッキングストア全体でデータを削除します。
- Mirror。各バッキングストアで完全なレプリカを作成します。
- Namespace ポリシー
- 集約に使用されるリソースと、書き込みターゲットに使用されるリソースを定義する namespace バケットのポリシー。
- キャッシュポリシー
- これはバケットのポリシーで、ハブ (信頼できるソース) と、キャッシュアイテムの存続時間 (TTL) を設定します。
デフォルトのバケットクラスはデプロイメント中に作成され、デフォルトのバッキングストアを使用する配置ポリシーで設定されます。追加できるバケットクラスの数に制限はありません。
サポート対象のポリシーの種類を特定するには、特定の OpenShift Data Foundation バージョンのドキュメントを参照してください。
Object Bucket Claim(オブジェクトバケット要求)
S3 バケットのプロビジョニングを有効にする CRD。MCG では、OBC は任意のバケットクラスを受け取り、バケットの初期設定を書き留めておきます。バケットクラスが指定されていない場合は、デフォルトのバケットクラスが使用されます。
NooBaa、Pod ステートフルセット CRD
DB Pod、コア Pod、エンドポイントなどの NooBaa デプロイメントの異なる Pod を制御する内部 CRD。この CRD は内部であるため、変更しないでください。この Operator は以下のエンティティーを調整します。
- DB Pod SCC
- OpenShift Container Platform と NooBaa ユーザーインターフェイスとの間の SSO シングルサインオンを許可するロールバインディングおよびサービスアカウント
- S3 アクセスのルート
- OpenShift Container Platform によって取得および署名され、S3 ルートに設定されている証明書
Prometheus ルールおよびサービスのモニタリング
これらの CRD は、MCG でサポートされている Prometheus およびアラートルールのスクレイピングポイントを設定します。
Horizontal pod autoscaler (HPA)
これは MCG エンドポイントと統合されます。エンドポイント Pod は、CPU の負荷 (S3 トラフィックの量) に応じてスケールアップおよびスケールダウンします。
3.4.3. 高可用性
Operator として提供される唯一の高可用性は、OpenShift Container Platform が障害のある Pod を再スケジュールすることです。
3.4.4. 関連するログファイル
NooBaa Operator の問題のトラブルシューティングを行うには、以下を確認します。
- Operator Pod ログ (must-gather でも利用できます)
- must-gather で利用できる各種 CRD またはエンティティー、およびそのステータス。
3.4.5. ライフサイクル
MCG operator は、OpenShift Data Foundation がデプロイされた後、実行および調整が行われてからアンインストールされます。