OpenShift Container Storage の更新

Red Hat OpenShift Container Storage 4.6

クラスターおよびストレージ管理者の手順

概要

本書では、Red Hat OpenShift Container Storage を更新する方法について説明します。

第1章 OpenShift Container Storage 更新プロセスの概要

Red Hat OpenShift Container Storage およびそのコンポーネントを(4.5 と 4.6 間などのマイナーリリース間、または 4.6.0 と 4.6.1 間などのバッチ更新間でアップグレードできます。

OpenShift Container Storage の異なる部分を特定の順序でアップグレードする必要があります。

  1. OpenShift Container Platform の『クラスターの更新』ドキュメントに従って OpenShift Container Platform を更新します
  2. OpenShift Container Storage を更新します。

    1. お使いのセットアップに適したプロセスを使用して、OpenShift Container Storage Operator を更新します

    2. ローカルストレージを使用する場合:

      1. ローカルストレージ Operator を更新します

        不明な場合は、「Checking for Local Storage Operator deployments」を参照してください。

      2. ローカルストレージがサポートするクラスターについて 更新後の設定変更を実行します

        詳細は、ローカルストレージでサポートされるクラスターについての更新後の設定について参照してください。

更新についての留意事項

開始する前に、以下の重要な考慮事項を確認してください。

  • Red Hat では、Red Hat OpenShift Container Storage で同じバージョンの Red Hat OpenShift Container Platform を使用することを推奨しています。

    OpenShift Container Platform および OpenShift Container Storage のサポートされる組み合わせについての詳細は、「相互運用性マトリックス」を参照してください。

  • ローカルストレージ Operator は、ローカルストレージ Operator バージョンが Red Hat OpenShift Container Platform バージョンと一致する場合にのみ完全にサポートされます。

第2章 OpenShift Container Storage アップグレードチャネルおよびリリース

OpenShift Container Platform 4.1 で、Red Hat はクラスターのアップグレードの適切なリリースバージョンを推奨するためにチャネルという概念を導入しました。アップグレードのペースを制御することで、これらのアップグレードチャネルからアップグレードストラテジーを選択することができます。OpenShift Container Storage は、OpenShift Container Platform の Operator としてデプロイされるため、複数のチャネルに修正を提供し、アップグレードのペースを制御するための同じストラテジーに従います。アップグレードチャネルは OpenShift Container Storage のマイナーバージョンに関連付けられます。たとえば、OpenShift Container Storage 4.6 アップグレードチャネルでは 4.5 から 4.6 へのアップグレードおよび 4.6 内のアップグレードが推奨されます。4.7 以降のリリースへのアップグレードは推奨されていません。このストラテジーにより、管理者は OpenShift Container Storage の次のマイナーバージョンへのアップグレードに関して明確な決定を行うことができます。

アップグレードチャネルはリリースの選択のみを制御し、インストールするクラスターのバージョンには影響を与えません。ocs-operator はインストールされる OpenShift Container Storage のバージョンを決定します。追加設定なしで、OpenShift Container Platform との互換性を維持しながら、最新の OpenShift Container Storage リリースを常にインストールします。そのため、OpenShift Container Platform 4.6 では、OpenShift Container Storage 4.6 はインストールできる最新バージョンになります。

OpenShift Container Storage のアップグレードは、互換性と相互運用性が OpenShift Container Platform で維持されるように OpenShift Container Platform のアップグレードと連動します。OpenShift Container Storage 4.6 では、OpenShift Container Platform 4.5、4.6、および 4.7 がサポートされます。OpenShift Container Platform 4.5 および 4.7 は、OpenShift Container Platform との後方互換性を維持するためにサポートされます。OpenShift Container Storage のバージョンを OpenShift Container Platform と同じにしておくと、そのリリースのすべての機能やエンハンスメントを活用できます。

OpenShift Container Platform 4.6 は以下のアップグレードチャネルを提供します。

  • stable-4.6
  • eus-4.6 (4.6 を実行する場合にのみ利用可能)

    stable-4.6 チャネル
    新規バージョンの GA 後、 マイナーバージョンに対応する stable チャネルが、アップグレードに使用できる新しいイメージで更新されます。stable-4.6 チャネルを使用すると OpenShift Container Storage 4.5 からのアップグレードや 4.6 内のアップグレードが可能です。
    eus-4.6 チャネル

    stable チャネルのほかに、OpenShift Container Platform の特定のマイナーバージョンは Extended Update Support (延長アップデートサポート、EUS) を提供します。これらの EUS バージョンでは、プレミアムサブスクリプションをお持ちのお客様の場合、メンテナンスフェーズを 14 カ月に拡張されています。現時点で、OpenShift Container Storage 4.6 は EUS が適用される唯一のマイナーバージョンです。

    OpenShift Container Platform 4.6 が EUS フェーズに移行するまで stable-4.6 と eus-4.6 チャネル間に相違はありませんが、 EUS チャネルが利用可能になり次第、これに切り換えることができます。OpenShift Container Platform 4.6 がライフサイクルの EUS フェーズに移行すると、stable-4.6 チャネルは後続の z-stream 更新を受信しなくなります。EUS チャネルに排他的なバージョンにアップグレードした後に、そのクラスターは次の EUS バージョンへのアップグレードが利用可能になるまでマイナーバージョンのアップグレードの対象ではなくなります。次に予定される EUS バージョンは 4.10 で、該当バージョンへのアップグレードには、4.6 から 4.7、4.8、4.9、4.10 の順など、バージョンの連続するセットが必要になります。

    さらに、クラスターがサポートされるバージョンの OpenShift Container Platform 4.6 を実行している場合にのみ EUS チャネルに切り替えることができます。

    最後に、EUS にのみ限定されている 4.6 バージョンをインストールする場合、アップグレードが 4.10 に提供されるまで、後続のマイナーバージョンにアップグレードすることはできません。

第3章 内部モードでの OpenShift Container Storage の更新

以下の手順に従って、内部モードでデプロイされた OpenShift Container Storage クラスターを更新します。

3.1. 内部モードでの OpenShift Container Storage Operator の自動更新の有効化

以下の手順を使用して、OpenShift Container Platform で OpenShift Container Storage Operator の自動の更新承認を有効にします。

前提条件

  • Status カードの Persistent Storage の下で、OpenShift Container Storage クラスターが正常であること、データに回復性があることを確認します。
  • OpenShift Container Platform クラスターをバージョン 4.5.X または 4.6.Y に更新する場合、『クラスターの更新』を参照してください。
  • Red Hat OpenShift Container Storage チャネルを stable-4.5 から stable-4.6 に切り替えます。チャネルの詳細は、「OpenShift Container Storage」を参照してください。

    注記

    マイナーバージョンを更新する場合(例: 4.5 から 4.6 に更新) にのみチャネルを切り換える必要があり、4.6 のバッチの更新間に更新する場合 (例: 4.6.0 から 4.6.1 に更新) はチャネルを切り換える必要はありません。

  • Operator Pod を含むすべての OpenShift Container Storage Pod が openshift-storage namespaceRunning 状態にあることを確認します。

    Pod の状態を確認するには、OpenShift Web コンソールの左側のペインから WorkloadsPods をクリックします。Project ドロップダウンリストから openshift-storage を選択します。

  • 更新時間はクラスターで実行される OSD の数によって異なるため、Openshift Container Storage 更新プロセスを完了するのに十分な時間を確保してください。

手順

  1. OpenShift Web コンソールにログインします。
  2. OperatorsInstalled Operators をクリックします。
  3. openshift-storage プロジェクトを選択します。
  4. OpenShift Container Storage Operator 名をクリックします。
  5. Subscription タブをクリックしてから、Approval の下にあるリンクをクリックします。
  6. Automatic (default) を選択し、Save をクリックします。
  7. Upgrade Status に応じて以下ののいずれかを実行します。

    • Upgrade Status には、requires approval表示されます

      注記

      Upgrade status には、新規 OpenShift Container Storage バージョンがチャネルですでに検知され、承認ストラテジーが更新時に Manual から Automatic に変更されている場合に requires approval が表示されます。

      1. Install Plan リンクをクリックします。
      2. InstallPlan Details ページで、Preview Install Plan をクリックします。
      3. インストール計画を確認し、Approve をクリックします。
      4. StatusUnknown から Created に変更されるまで待機します。
      5. OperatorsInstalled Operators をクリックします。
      6. openshift-storage プロジェクトを選択します。
      7. StatusUp to date に変更するまで待機します。
    • Upgrade Status には、requires approval表示されません

      1. 更新が開始するまで待機します。これには、最長 20 分の時間がかかる可能性があります。
      2. OperatorsInstalled Operators をクリックします。
      3. openshift-storage プロジェクトを選択します。
      4. StatusUp to date に変更するまで待機します。

検証手順

  1. Overview → Persistent Storage タブをクリックし、 Status カードで、 OpenShift Container Storage クラスターに正常であることを示す緑色のチェックマークが表示されていることを確認します。
  2. OperatorsInstalled OperatorsOpenShift Container Storage Operator をクリックします。Storage Cluster で、クラスターサービスのステータスが Ready であることを確認します。

    注記

    OpenShift Container Storage バージョン 4.5 から 4.6 に更新された後も、Version フィールドには依然として 4.5 が表示されます。これは、ocs-operator がこのフィールドで表示される文字列を更新しないためです。

  3. Operator Pod を含むすべての OpenShift Container Storage Pod が openshift-storage namespaceRunning 状態にあることを確認します。

    Pod の状態を表示するには、WorkloadsPods をクリックします。Project ドロップダウンリストから openshift-storage を選択します。

  4. 検証手順が失敗した場合は、 Red Hat サポートにお問い合わせください

関連情報

OpenShift Container Storage の更新中に問題が発生した場合は、『トラブルシューティングガイド』の「トラブルシューティングで一般に必要になるログ」セクションを参照してください。

3.2. 内部モードでの OpenShift Container Storage Operator の手動による更新

以下の手順を使用して、インストール計画に手動の承認を指定し、OpenShift Container Storage Operator を更新します。

前提条件

  • Status カードの Persistent Storage の下で、OpenShift Container Storage クラスターが正常であること、データに回復性があることを確認します。
  • OpenShift Container Platform クラスターをバージョン 4.5.X または 4.6.Y に更新する場合、『クラスターの更新』を参照してください。
  • Red Hat OpenShift Container Storage チャネルを stable-4.5 から stable-4.6 に切り替えます。チャネルの詳細は、「OpenShift Container Storage」を参照してください。

    注記

    マイナーバージョンを更新する場合(例: 4.5 から 4.6 に更新) にのみチャネルを切り換える必要があり、4.6 のバッチの更新間に更新する場合 (例: 4.6.0 から 4.6.1 に更新) はチャネルを切り換える必要はありません。

  • Operator Pod を含むすべての OpenShift Container Storage Pod が openshift-storage namespaceRunning 状態にあることを確認します。

    Pod の状態を確認するには、OpenShift Web コンソールの左側のペインから WorkloadsPods をクリックします。Project ドロップダウンリストから openshift-storage を選択します。

  • 更新時間はクラスターで実行される OSD の数によって異なるため、Openshift Container Storage 更新プロセスを完了するのに十分な時間を確保してください。

手順

  1. OpenShift Web コンソールにログインします。
  2. OperatorsInstalled Operators をクリックします。
  3. openshift-storage プロジェクトを選択します。
  4. OpenShift Container Storage Operator 名をクリックします。
  5. Subscription タブをクリックしてから、Approval の下にあるリンクをクリックします。
  6. Manual を選択し、Save をクリックします。
  7. Upgrade StatusUpgrading に変更するまで待機します。
  8. Upgrade Statusrequires approval が表示される場合は、requires approval をクリックします。
  9. InstallPlan Details ページで、Preview Install Plan をクリックします。
  10. インストール計画を確認し、Approve をクリックします。
  11. StatusUnknown から Created に変更されるまで待機します。
  12. OperatorsInstalled Operators をクリックします。
  13. openshift-storage プロジェクトを選択します。
  14. StatusUp to date に変更するまで待機します。

検証手順

  1. Overview → Persistent Storage タブをクリックし、 Status カードで、 OpenShift Container Storage クラスターに正常であることを示す緑色のチェックマークが表示されていることを確認します。
  2. OperatorsInstalled OperatorsOpenShift Container Storage Operator をクリックします。Storage Cluster で、クラスターサービスのステータスが Ready であることを確認します。

    注記

    OpenShift Container Storage バージョン 4.5 から 4.6 に更新された後も、Version フィールドには依然として 4.5 が表示されます。これは、ocs-operator がこのフィールドで表示される文字列を更新しないためです。

  3. Operator Pod を含むすべての OpenShift Container Storage Pod が openshift-storage namespaceRunning 状態にあることを確認します。

    Pod の状態を確認するには、OpenShift Web コンソールの左側のペインから WorkloadsPods をクリックします。Project ドロップダウンリストから openshift-storage を選択します。

  4. 検証手順が失敗した場合は、 Red Hat サポートにお問い合わせください

関連情報

OpenShift Container Storage の更新中に問題が発生した場合は、『トラブルシューティングガイド』の「トラブルシューティングで一般に必要になるログ」セクションを参照してください。

第4章 外部モードでの OpenShift Container Storage の更新

以下の手順に従って、外部モードでデプロイされた OpenShift Container Storage クラスターを更新します。

重要

Red Hat OpenShift Container Storage Operator をアップグレードしても、外部の Red Hat Ceph Storage クラスターはアップグレードされません。これは、OpenShift Container Platform で実行されている Red Hat OpenShift Container Storage サービスのみをアップグレードします。

外部の Red Hat Ceph Storage クラスターをアップグレードするには、Red Hat Ceph Storage の管理者にお問い合わせください。

4.1. 外部モードでの OpenShift Container Storage Operator の自動更新の有効化

以下の手順を使用して、OpenShift Container Platform で OpenShift Container Storage Operator の自動の更新承認を有効にします。

注記

OpenShift Container Storage を更新しても、外部の Red Hat Ceph Storage クラスターは更新されません。

前提条件

  • 外部クラスターには、Red Hat Ceph Storage バージョン 4.2z1 以降が必要です。詳細は、この Red Hat Ceph Storage リリースおよび対応する Ceph パッケージバージョンについてのナレッジベースのアーティクルを参照してください。
  • OpenShift Container Platform クラスターをバージョン 4.5.X または 4.6.Y に更新する場合、『クラスターの更新』を参照してください。
  • Red Hat OpenShift Container Storage チャネルを stable-4.5 から stable-4.6 に切り替えます。チャネルの詳細は、「OpenShift Container Storage」を参照してください。

    注記

    マイナーバージョンを更新する場合(例: 4.5 から 4.6 に更新) にのみチャネルを切り換える必要があり、4.6 のバッチの更新間に更新する場合 (例: 4.6.0 から 4.6.1 に更新) はチャネルを切り換える必要はありません。

  • Operator Pod を含むすべての OpenShift Container Storage Pod が openshift-storage namespaceRunning 状態にあることを確認します。

    Pod の状態を確認するには、OpenShift Web コンソールの左側のペインから Workloads → Pods をクリックします。Project ドロップダウンリストから openshift-storage を選択します。

  • Status カードの Persistent Storage で、OpenShift Container Storage クラスター が正常であることを確認します。
  • Openshift Container Storage の更新プロセスを完了するのに十分時間があることを確認します。

手順

  1. OpenShift Web コンソールにログインします。
  2. OperatorsInstalled Operators をクリックします。
  3. openshift-storage プロジェクトを選択します。
  4. OpenShift Container Storage Operator 名をクリックします。
  5. Subscription タブをクリックしてから、Approval の下にあるリンクをクリックします。
  6. Automatic (default) を選択し、Save をクリックします。
  7. Upgrade Status に応じて以下ののいずれかを実行します。

    • アップグレードのステータスには、requires approval表示されます

      注記

      Upgrade status には、新規 OpenShift Container Storage バージョンがチャネルですでに検知され、承認ストラテジーが更新時に Manual から Automatic に変更されている場合に requires approval が表示されます。

      1. Install Plan リンクをクリックします。
      2. InstallPlan Details ページで、Preview Install Plan をクリックします。
      3. インストール計画を確認し、Approve をクリックします。
      4. StatusUnknown から Created に変更されるまで待機します。
      5. OperatorsInstalled Operators をクリックします。
      6. openshift-storage プロジェクトを選択します。
      7. StatusUp to date に変更するまで待機します。
    • アップグレードステータスには 、requires approval表示されません

      1. 更新が開始するまで待機します。これには、最長 20 分の時間がかかる可能性があります。
      2. OperatorsInstalled Operators をクリックします。
      3. openshift-storage プロジェクトを選択します。
      4. StatusUp to date に変更するまで待機します。

検証手順

  1. Overview → Persistent Storage タブをクリックし、 Status カードで、OpenShift Container Storage クラスター に正常であることを示す緑色のチェックマークが表示されていることを確認します。
  2. OperatorsInstalled OperatorsOpenShift Container Storage Operator をクリックします。Storage Cluster で、クラスターサービスのステータスが Ready であることを確認します。

    注記

    OpenShift Container Storage バージョン 4.5 から 4.6 に更新された後も、Version フィールドには依然として 4.5 が表示されます。これは、ocs-operator がこのフィールドで表示される文字列を更新しないためです。

  3. Operator Pod を含むすべての OpenShift Container Storage Pod が openshift-storage namespace で Running 状態にあることを確認します。

    Pod の状態を確認するには、OpenShift Web コンソールの左側のペインから Workloads → Pods をクリックします。Project ドロップダウンリストから openshift-storage を選択します。

  4. 検証手順が失敗した場合は、 Red Hat サポートにお問い合わせください

次のステップ

  1. 監視を有効にして、Object Gateway (RGW) メトリクスを表示します。「Enabling monitoring for the Object Service dashboard」を参照してください。

4.2. 外部モードでの OpenShift Container Storage Operator の手動による更新

以下の手順を使用して、インストール計画に手動の承認を指定し、OpenShift Container Storage Operator を更新します。

注記

OpenShift Container Storage を更新しても、外部の Red Hat Ceph Storage クラスターは更新されません。

前提条件

  • 外部クラスターには、Red Hat Ceph Storage バージョン 4.2z1 以降が必要です。詳細は、この Red Hat Ceph Storage リリースおよび対応する Ceph パッケージバージョンについてのナレッジベースのアーティクルを参照してください。
  • OpenShift Container Platform クラスターをバージョン 4.5.X または 4.6.Y に更新する場合、『クラスターの更新』を参照してください。
  • Red Hat OpenShift Container Storage チャネルを stable-4.5 から stable-4.6 に切り替えます。チャネルの詳細は、「OpenShift Container Storage」を参照してください。

    注記

    マイナーバージョンを更新する場合(例: 4.5 から 4.6 に更新) にのみチャネルを切り換える必要があり、4.6 のバッチの更新間に更新する場合 (例: 4.6.0 から 4.6.1 に更新) はチャネルを切り換える必要はありません。

  • Operator Pod を含むすべての OpenShift Container Storage Pod が openshift-storage namespace で Running 状態にあることを確認します。

    Pod の状態を確認するには、OpenShift Web コンソールの左側のペインから WorkloadsPods をクリックします。Project ドロップダウンリストから openshift-storage を選択します。

  • Status カードの Persistent Storage の下で、OpenShift Container Storage クラスターが正常であることを確認します。
  • Openshift Container Storage の更新プロセスを完了するのに十分時間があることを確認します。

手順

  1. OpenShift Web コンソールにログインします。
  2. OperatorsInstalled Operators をクリックします。
  3. openshift-storage プロジェクトを選択します。
  4. OpenShift Container Storage Operator 名をクリックします。
  5. Subscription タブをクリックしてから、Approval の下にあるリンクをクリックします。
  6. Manual を選択し、Save をクリックします。
  7. Upgrade StatusUpgrading に変更するまで待機します。
  8. Upgrade Statusrequires approval が表示される場合は、requires approval をクリックします。
  9. InstallPlan Details ページで、Preview Install Plan をクリックします。
  10. インストール計画を確認し、Approve をクリックします。
  11. StatusUnknown から Created に変更されるまで待機します。
  12. OperatorsInstalled Operators をクリックします。
  13. openshift-storage プロジェクトを選択します。
  14. StatusUp to date に変更するまで待機します。

検証手順

  1. Overview → Persistent Storage タブをクリックし、 Status カードで、 OpenShift Container Storage クラスターに正常であることを示す緑色のチェックマークが表示されていることを確認します。
  2. OperatorsInstalled OperatorsOpenShift Container Storage Operator をクリックします。Storage Cluster で、クラスターサービスのステータスが Ready であることを確認します。
  3. Operator Pod を含むすべての OpenShift Container Storage Pod が openshift-storage namespace で Running 状態にあることを確認します。

    Pod の状態を確認するには、OpenShift Web コンソールの左側のペインから WorkloadsPods をクリックします。Project ドロップダウンリストから openshift-storage を選択します。

    注記

    OpenShift Container Storage バージョン 4.5 から 4.6 に更新された後も、Version フィールドには依然として 4.5 が表示されます。これは、ocs-operator がこのフィールドで表示される文字列を更新しないためです。

  4. 検証手順が失敗した場合は、 Red Hat サポートにお問い合わせください

次のステップ

  1. 監視を有効にして、Object Gateway (RGW) メトリクスを表示します。「Enabling monitoring for the Object Service dashboard」を参照してください。

4.3. Object Service ダッシュボードのモニタリングの有効化

OpenShift Container Storage 4.6 の Object Service ダッシュボードで Object Gateway (RGW) メトリクスを表示するには、モニタリングを有効にする必要があります。Object Service ダッシュボードの詳細は、「 Object Service dashboard indicators」および「Metrics in the Object Service dashboard」を参照してください。

前提条件

手順

  1. Ceph クラスターの詳細を更新および抽出するための python スクリプトをダウンロードします。

    1. OpenShift Web コンソールで Operators → Installed Operators をクリックし、インストールされた Operator を表示します。
    2. Installed Operators ページで、インストールされた OpenShift Container Storage Operator の Provided APIs 列で Storage Cluster リンクをクリックします。
    3. Create Storage Cluster をクリックします。
    4. ModeExternal に選択します。
    5. Connect to external cluster セクションで、Download Script リンクをクリックして、Ceph クラスターの詳細を抽出するために python スクリプトをダウンロードします。
    6. ストレージクラスターがすでに作成されているので Cancel をクリックします。
  2. Red Hat Ceph Storage クラスターの OpenShift Container Storage クライアントのパーミッション制限を更新します。

    1. RHCS 管理者に問い合わせた上で、Red Hat Ceph Storage クラスターノードでダウンロードした python スクリプトを実行します。
    2. スクリプトを実行するには、以下を実行します。

      # python3 ceph-external-cluster-details-exporter.py --upgrade --run-as-user=<client_name_used_for_OCS_4.5_install>

      --run-as-user は、OpenShift Container Storage 4.5 のデプロイメント時に使用されるクライアント名を指定します。このオプションが OpenShift Container Storage 4.5 のデプロイメント時に使用されない場合、デフォルトのクライアント名 client.healthchecker が設定されます。

      ユーザーの更新されたパーミッションは以下のように設定されます。

      caps: [mgr] allow command config
      caps: [mon] allow r, allow command quorum_status, allow command version
      caps: [osd] allow rwx pool=default.rgw.meta, allow r pool=.rgw.root, allow rw pool=default.rgw.control, allow rx pool=default.rgw.log, allow x pool=default.rgw.buckets.index
  3. Object Service ダッシュボードのモニタリングを有効にするには、モニタリング情報を openshift-storage namespace の外部シークレット rook-ceph-external-cluster-details に追加する必要があります。シークレットを更新する方法は 2 つあります。

    • CLI を使用してシークレットを更新する場合は、この Red Hat ナレッジベースアーティクルを参照してください。
    • OpenShift Web コンソールからシークレットを更新するには、以下の手順に従います。

      1. 手順 1v でダウンロードしたスクリプトを実行します。

        # python3 ceph-external-cluster-details-exporter.py --rbd-data-pool-name <rbd block pool name> --monitoring-endpoint <ceph mgr prometheus exporter endpoint> --monitoring-endpoint-port <ceph mgr prometheus exporter port> --run-as-user <client_name_used_for_OCS_4.5_install>  [optional arguments]

        monitoring-endpoint は、OpenShift Container Platform クラスターから到達できるアクティブな ceph-mgr の IP アドレスです。

        monitoring-endpoint-port--monitoring-endpoint で指定された ceph-mgr Prometheus エクスポーターに関連付けられるポートです。ポート 9283 のみが OpenShift Container Platform 4.6 でサポートされます。

        注記

        monitoring-endpoint および monitoring-endpoint-port を除くオプション引数を含むすべてのパラメーターが、外部モードでの OpenShift Container Storage 4.5 のデプロイメント時に使用したパラメーターと同じであることを確認します。

      2. 前のステップでスクリプトを実行した後に生成された JSON 出力を保存します。出力例:

        [{"name": "rook-ceph-mon-endpoints", "kind": "ConfigMap", "data": {"data": "xxx.xxx.xxx.xxx:xxxx", "maxMonId": "0", "mapping": "{}"}}, {"name": "rook-ceph-mon", "kind": "Secret", "data": {"admin-secret": "admin-secret", "fsid": "<fs-id>", "mon-secret": "mon-secret"}}, {"name": "rook-ceph-operator-creds", "kind": "Secret", "data": {"userID": "client.healthchecker", "userKey": "<user-key>"}}, {"name": "rook-csi-rbd-node", "kind": "Secret", "data": {"userID": "csi-rbd-node", "userKey": "<user-key>"}}, {"name": "ceph-rbd", "kind": "StorageClass", "data": {"pool": "ceph-rbd"}}, {"name": "monitoring-endpoint", "kind": "CephCluster", "data": {"MonitoringEndpoint": "xxx.xxx.xxx.xxx", "MonitoringPort": "xxxx"}}, {"name": "rook-csi-rbd-provisioner", "kind": "Secret", "data": {"userID": "csi-rbd-provisioner", "userKey": "<user-key>"}}, {"name": "rook-csi-cephfs-provisioner", "kind": "Secret", "data": {"adminID": "csi-cephfs-provisioner", "adminKey": "<admin-key>"}}, {"name": "rook-csi-cephfs-node", "kind": "Secret", "data": {"adminID": "csi-cephfs-node", "adminKey": "<admin-key>"}}, {"name": "cephfs", "kind": "StorageClass", "data": {"fsName": "cephfs", "pool": "cephfs_data"}}, {"name": "ceph-rgw", "kind": "StorageClass", "data": {"endpoint": "xxx.xxx.xxx.xxx:xxxx", "poolPrefix": "default"}}]
      3. OpenShift Container Platform Web コンソールの openshift-storage namespace で WorkloadsSecrets に移動し、rook-ceph-external-cluster-details をクリックします。

        Example rook-ceph-external-cluster-details page
      4. Actions ドロップダウンメニューから、Edit Secret をクリックします。
      5. Edit Key/Value Secret ページで、Value テキストボックスの横にある Browse をクリックし、以前に保存した JSON ファイルをアップロードします。

        Example Edit Key/Value Secret page
      6. Save をクリックします。

検証手順

  1. OpenShift Web コンソールから HomeOverview をクリックし、 Object Service タブをクリックします。
  2. Status カード で、以下のイメージのように Object Service に緑色のチェックマークが表示されていることを確認します。

    Example of Object Service status verified
  3. Performance カードのドロップダウンから Object Gateway(RGW) を選択し、メトリクスを表示します。

    Example Object Gateway (RGW) metrics
  4. OverviewPersistent Storage タブをクリックし、Status カードで、 OpenShift Container Storage クラスターに正常であることを示す緑色のチェックマークが表示されていることを確認します。

第5章 更新後の設定の変更

すべての機能が予想通りに機能するように、更新後に追加の設定手順が必要になる場合があります。

5.1. ローカルストレージがサポートするクラスターの更新後の設定

Red Hat OpenShift Container Platform 4.6 以降で、ローカルストレージ Operator はローカルストレージを管理するための新規のカスタムリソースタイプを提供します。

  • LocalVolumeDiscovery
  • LocalVolumeSet

これらのリソースタイプは、以前のバージョンからの更新の一部として自動的に処理されないため、手動で作成する必要があります。

5.1.1. コマンドラインを使用した LocalVolumeDiscovery カスタムリソースの作成

LocalVolumeDiscovery カスタムリソースを作成し、デバイス管理ユーザーインターフェースがローカルデバイスの状態を検知できるようにし、クラスターノードで利用可能なデバイスについての情報を提供します。

前提条件

  • OpenShift Container Platform クラスターへの管理者アクセス。

手順

  1. ローカルストレージ Operator がインストールされているプロジェクトに切り替えます。

    $ oc project local-storage-project

    local-storage-project はローカルストレージプロジェクトの名前に置き換えます。

    バージョン 4.5 以前では、デフォルトのローカルストレージプロジェクトの名前は local-storage です。バージョン 4.6 以降では、デフォルトのローカルストレージプロジェクトの名前は openshift-local-storage です。

  2. LocalVolumeDiscovery カスタムリソースを定義します。

    たとえば、local-volume-discovery.yaml ファイルで以下を定義します。

    apiVersion: local.storage.openshift.io/v1alpha1
    kind: LocalVolumeDiscovery
    metadata:
      name: auto-discover-devices
    spec:
      nodeSelector:
        nodeSelectorTerms:
          - matchExpressions:
              - key: kubernetes.io/hostname
                operator: In
                values:
                  - worker1.example.com
                  - worker2.example.com
                  - worker3.example.com
  3. LocalVolumeDiscovery カスタムリソースを作成します。

    $ oc create -f local-volume-discovery.yaml

検証手順

  1. OpenShift Web コンソールにログインします。
  2. ComputeNode をクリックし、ノードの名前をクリックします。
  3. Disks タブをクリックして、そのノードで利用可能なデバイスが表示されることを確認します。

5.1.2. コマンドラインを使用した LocalVolumeSet カスタムリソースの作成

LocalVolumeSet カスタムリソースを作成し、指定する条件に基づいて特定のストレージデバイスを永続ボリュームとして自動的にプロビジョニングします。永続ボリュームは、deviceInclusionSpec の条件に一致する任意のノードで nodeSelector の条件準に一致するデバイスについて作成されます。

前提条件

  • OpenShift Container Platform クラスターへの管理者アクセス。

手順

  1. local-volume-set.yaml ファイルで LocalVolumeSet カスタムリソースを定義します。

    apiVersion: local.storage.openshift.io/v1alpha1
    kind: LocalVolumeSet
    metadata:
      name: localblock
    spec:
      nodeSelector:
        nodeSelectorTerms:
          - matchExpressions:
              - key: kubernetes.io/hostname
                operator: In
                values:
                  - worker1.example.com
                  - worker2.example.com
                  - worker3.example.com
      storageClassName: localblock
      volumeMode: Block
      maxDeviceCount: 10 # optional, limit devices provisioned per node
      deviceInclusionSpec:
        deviceTypes: # list of types to allow
          - disk
          - part # omit this to use only whole devices
        deviceMechanicalProperty:
          - NonRotational
        minSize: 100Gi # optional, minimum size of device to allow
        maxSize: 100Ti # optional, maximum size of device to allow
        models: # (optional) list of models to allow
          - SAMSUNG
          - Crucial_CT525MX3
        vendors: # (optional) list of device vendors to allow
          - ATA
          - ST2000LM

    上記の定義では、worker1worker2worker3 から、ローテーションされないデバイスの特定モデルにあるディスク全体またはパーティションの内、サイズが 100 GB から 100 TB で、指定のベンダーが提供しているものを選択します。localblock ストレージクラスが作成され、永続ボリュームが検出されたデバイスからプロビジョニングされます。

    重要

    minSize に適切な値を選択し、システムパーティションが選択されないようにします。

  2. LocalVolumeSet を作成します。

    $ oc create -f local-volume-set.yaml

検証手順

  1. 以下のコマンドを使用して、deviceInclusionSpec に一致するデバイスの永続ボリュームのプロビジョニングを追跡します。永続ボリュームをプロビジョニングするのに数分かかる場合があります。

    $ oc describe localvolumeset localblock
    [...]
    Status:
      Conditions:
        Last Transition Time:          2020-11-17T05:03:32Z
        Message:                       DiskMaker: Available, LocalProvisioner: Available
        Status:                        True
        Type:                          DaemonSetsAvailable
        Last Transition Time:          2020-11-17T05:03:34Z
        Message:                       Operator reconciled successfully.
        Status:                        True
        Type:                          Available
      Observed Generation:             1
      Total Provisioned Device Count: 4
    Events:
    Type    Reason      Age          From                Message
    ----    ------      ----         ----                -------
    Normal  Discovered  2m30s (x4    localvolumeset-     ip-10-0-147-124.us-east-
            NewDevice   over 2m30s)  symlink-controller  2.compute.internal -
                                                         found possible matching
                                                         disk, waiting 1m to claim
    Normal  FoundMatch  89s (x4      localvolumeset-     ip-10-0-147-124.us-east-
            ingDisk     over 89s)    symlink-controller  2.compute.internal -
                                                         symlinking matching disk
  2. プロビジョニングされた永続ボリュームの状態を確認します。

    $ oc get pv
                         ACCESS   RECLAIM             STORAGE
    NAME       CAPACITY  MODES    POLICY   STATUS     CLASS       AGE
    local-pv-  500Gi     RWO      Delete   Available  localblock  7m48s
    3584969f
    local-pv-  500Gi     RWO      Delete   Available  localblock  7m48s
    3aee84fa
    local-pv-  500Gi     RWO      Delete   Available  localblock  7m48s
    644d09ac
    local-pv-  500Gi     RWO      Delete   Available  localblock  7m48s
    c73cee1

5.1.3. アノテーションの追加

以下の手順を使用して、以前のバージョンから OpenShift Container Storage 4.6 へのアップグレード時に、アノテーションをストレージクラスターに追加し、ユーザーインターフェースを使用して、障害のあるストレージデバイスを交換できるようにします。

手順

  1. OpenShift Container Platform Web コンソールにログインします。
  2. HomeSearch をクリックします。
  3. ResourcesStorageCluster を検索してクリックします。
  4. ocs-storagecluster の横にあるアクションメニュー (⋮)Edit annotations をクリックします。
  5. KEYVALUE にそれぞれ cluster.ocs.openshift.io/local-devices=truetrue を追加します。
  6. Save をクリックします。