第3章 機能拡張

ここでは、Red Hat OpenShift Container Storage 4.7 で導入された主な拡張機能について説明します。

OpenShift Container Storage の正常なアップグレードを示す表示が改善される

以前のバージョンでは、OpenShift Container Storage のアップグレードが正常に完了したかどうかを判断することは容易ではありませんでした。一部のコンポーネントが新規コンテナーイメージにアップグレードされていない場合でも、コンソールで報告されない場合がありました。今回の更新により、StorageCluster は、すべての管理対象コンポーネントの実行中のコンテナーイメージを確認し、報告するようになりました。これはアップグレードシナリオのトラブルシューティングに役立ちます。

OSD Pod の Disruption Budget (停止状態の予算) の再設計

以前のバージョンでは、デフォルトで OpenShift Container Storage の Pod の Disruption Budget (停止状態の予算)(PDB) には minUnavailable=0 があり、一度に 1 つのノードでの OSD の再起動のみが許可されました。そのため、OCP コンソールは、再起動できないノードについての警告を常に表示しました。今回の更新により、OSD の PDB は以下のように再設計されました。

  • 初期の状態では OSD PDB が 1 つあります。これにより、1 度に 1 つの OSD のみがダウンします。
  • OSD がダウンすると、その障害ドメインが判別され、他の障害ドメインについて障害となる OSD PDB が作成されます。
  • 作成済みの元の OSD PDB は削除されます。これにより、すべての OSD が失敗ドメインでダウンする可能性があります。

新たな設計により、ユーザーは同じ失敗ドメインで複数のノードをドレイン (解放) できるようになりました。

外部モードでの RGW アドレスの更新

今回の更新により、Multicloud Object Gateway (MCG) が外部モードで RGW バッキングストアで設定されている場合、 MCG に影響を与えることなく RGW アドレスを変更できるようになりました。

RGW の空き領域

以前のバージョンでは、NooB バケットはすべてのバケットについて 1PiB のストレージ容量を示し、RGW の空き領域を表示しませんでした。今回の機能拡張により、Red Hat Ceph クラスターのストレージ容量がステータスフィールドにエクスポートされ、NooBaa Operator はこのステータスフィールドへの変更をリッスンし、すべての RGW ベースのバッキングストアの利用可能な容量を更新するようになりました。

外部モードについて、サービスモニターポートの設定をデフォルト ceph-mgr Prometheus ポートとは異なる設定にできる

今回の機能拡張により、外部 Red Hat Ceph クラスターがデフォルト以外のポート (9283) でリッスンする ceph-mgr Prometheus モジュールで設定されている場合、OpenShift Container Storage はこれらのメトリクスに接続し、消費できるようになりました。つまり、OpenShift Container Storage はすべてのモニタリングポートを受け入れるようになりました。

ocs-operator は外部モードのモニタリングサービスにデフォルト以外のポートを許可する

以前のバージョンでは、ocs-operator で、デフォルトポート 9283 以外のモニタリング Prometheus サービスのポートは許可されませんでした。このため、モニタリングサービス用にポートが使用できませんでした。今回の更新により、ocs-operator が、予想通りに外部クラスターの JSON 入力およびモニタリングサービスからデフォルト以外のモニタリングポートを受け入れ、伝播できるように有効にされました。

既存のシークレットの使用による新規バッキングストアの作成

今回の機能拡張により、既存のシークレットを使用して Multicloud Object Gateway CLI で新規バッキングストアを作成できるようになりました。

既存の OSD デプロイメントの更新に対して、新規 OSD デプロイメントの作成を優先します。

以前のバージョンでは、Persistent Volume Claim(永続ボリューム要求、PVC)の OSD では、Rook は新規 OSD を作成する前に既存 OSD の更新を暗黙的に推奨し、これにより、OSD の調整が終了するまで新規の容量がクラスターに追加されませんでした。今回の機能拡張により、クラスターは既存 OSD の更新に対して OSD のスケールアップを優先し、ストレージがプロビジョニングされるとすぐに新規の容量が利用可能になり、これにより、クラスターで OSD 数をスケールアップする間に調整を実行でき、調整時間は 15 分から 5-10 分に削減されます。

RGW の公開ルート

今回の更新により、OpenShift Container Storage Operator は Red Hat Ceph Storage の RADOS Object Gateway (RGW) サービスのルートを作成するようになりました。

IBM Cloud 設定の認証情報なしに OpenShift Container Storage を ROKS にデプロイする

今回の更新により、OpenShift Container Storage が ROKS でデプロイされ、デフォルトのバッキングストアとして ROKS を使用するために認証情報が指定されていない場合に IBM Cloud のセットアップのインストールを容易にするために、PV プールのデフォルト BackingStore が作成されます。

OSD 再起動の Prometheus アラート

今回の機能拡張により、OpenShift Container Storage OSD が 5 分間に 6 回以上再起動した場合に通知するように Prometheus アラートが追加されました。アラートメッセージは以下のようになります。

 Storage daemon osd.x has restarted 5 times in the last 5 minutes. Please check the pod events or ceph status to find out the cause.

ここで、x は OSD 番号を表します。

namespace バケットのシステムアラート

Red Hat OpenShift Container Storage 4.7 のリリースでは、namespace バケットおよびリソースについてのシステムアラートが追加され、システムの現在の状態をより明確に把握できるようになりました。

ログメッセージを noobaa-endpoint Pod ログに出力する

以前のバージョンでは、デバッグオプションが設定されていない場合でも、ログメッセージが noobaa-endpoint Pod ログに出力されました。今回のリリースにより、デバッグオプションが設定されている場合にのみ、ログメッセージが noobaa-endpoint Pod ログに出力されるようになりました。