第6章 OpenShift Container Storage のアンインストール


6.1. 外部モードでの OpenShift Container Storage のアンインストール

このセクションの手順を使用して、ユーザーインターフェースから Uninstall オプションを使用せずに OpenShift Container Storage をアンインストールします。OpenShift Container Storage をアンインストールしても、外部クラスターから RBD プールを削除したり、外部の RedHat Ceph Storage クラスターをアンインストールしたりすることはできません。

前提条件

  • OpenShift Container Storage クラスターの状態が正常であることを確認します。一部の Pod がリソースまたはノードの不足により正常に終了しないと、削除に失敗する可能性があります。クラスターが状態が正常でない場合は、OpenShift Container Storage をアンインストールする前に Red Hat カスタマーサポートにお問い合わせください。
  • アプリケーションが OpenShift Container Storage によって提供されるストレージクラスを使用して Persistent Volume Claim(永続ボリューム要求、PVC)または Object Bucket Claim(オブジェクトバケット要求)を使用していないことを確認します。PVC および OBC はアンインストールプロセスで削除されます。

手順

  1. OpenShift Container Storage ベースのストレージクラスプロビジョナーを使用する PVC および OBC をクエリーします。

    以下は例になります。

    $ oc get pvc -o=jsonpath='{range .items[?(@.spec.storageClassName=="ocs-external-storagecluster-ceph-rbd")]}{"Name: "}{@.metadata.name}{" Namespace: "}{@.metadata.namespace}{" Labels: "}{@.metadata.labels}{"\n"}{end}' --all-namespaces|awk '! ( /Namespace: openshift-storage/ && /app:noobaa/ )' | grep -v noobaa-default-backing-store-noobaa-pvc
    Copy to Clipboard
    注記

    外部の RedHat Ceph Storage クラスターが CephFS 用に設定されていない場合には、ocs-external-storagecluster-cephfs の以下のクエリーコマンドを無視できます。

    $ oc get pvc -o=jsonpath='{range .items[?(@.spec.storageClassName=="ocs-external-storagecluster-cephfs")]}{"Name: "}{@.metadata.name}{" Namespace: "}{@.metadata.namespace}{"\n"}{end}' --all-namespaces
    Copy to Clipboard
    注記

    外部の RedHat Ceph Storage クラスターが Object Storage 用に設定されていない場合には、ocs-external-storagecluster-ceph-rgw の以下のクエリーコマンドを無視できます。

    $ oc get obc -o=jsonpath='{range .items[?(@.spec.storageClassName=="ocs-external-storagecluster-ceph-rgw")]}{"Name: "}{@.metadata.name}{" Namespace: "}{@.metadata.namespace}{"\n"}{end}' --all-namespaces
    Copy to Clipboard
    $ oc get obc -o=jsonpath='{range .items[?(@.spec.storageClassName=="openshift-storage.noobaa.io")]}{"Name: "}{@.metadata.name}{" Namespace: "}{@.metadata.namespace}{"\n"}{end}' --all-namespaces
    Copy to Clipboard
  2. 以下の手順に従って、直前の手順に記載されている PVC および OBC が削除されていることを確認します。

    モニタリングスタック、クラスターロギング Operator、またはイメージレジストリーの設定の一部として PVC を作成した場合は、必要に応じて以下のセクションで説明されているクリーンアップ手順を実行する必要があります。

    • 「OpenShift Container Storage からのモニタリングスタックの削除」
    • 「OpenShift Container Storage からの OpenShift Container Platform レジストリーの削除」
    • 「OpenShift Container Storage からのクラスターロギング Operator の削除」

      残りの PVC または OBC のそれぞれに、以下の手順を実行します。

      1. PVC または OBC を使用する Pod を判別します。
      2. DeploymentStatefulSetDaemonSetJob、またはカスタムコントローラーなどの制御する側の API オブジェクトを特定します。

        各 API オブジェクトには、OwnerReference として知られるメタデータフィールドがあります。これは、関連付けられたオブジェクトの一覧です。controller フィールドが true に設定された OwnerReference は、ReplicaSetStatefulSetDaemonSet などの制御するオブジェクトを参照します。

      3. API オブジェクトが OpenShift Container Storage によって提供される PVC または OBC を使用していないことを確認します。オブジェクトを削除するか、ストレージを置き換える必要があります。プロジェクトオーナーに、オブジェクトを安全に削除または変更できることを確認するよう依頼します。

        注記

        noobaa Pod は無視できます。

      4. OBC を削除します。

        $ oc delete obc <obc name> -n <project name>
        Copy to Clipboard
      5. 作成したカスタムバケットクラスを削除します。

        $ oc get bucketclass -A | grep -v noobaa-default-bucket-class
        Copy to Clipboard
        $ oc delete bucketclass <bucketclass name> -n <project-name>
        Copy to Clipboard
      6. カスタム Multi Cloud Gateway バッキングストアを作成している場合は、それらを削除します。

        1. バッキングストアの一覧を表示し、これらをメモします。

          for bs in $(oc get backingstore -o name -n openshift-storage | grep -v noobaa-default-backing-store); do echo "Found backingstore $bs"; echo "Its has the following pods running :"; echo "$(oc get pods -o name -n openshift-storage | grep $(echo ${bs} | cut -f2 -d/))"; done
          Copy to Clipboard
        2. 上記の各バッキングストアを削除し、対応する Pod および PVC が削除されていることを確認します。

          for bs in $(oc get backingstore -o name -n openshift-storage | grep -v noobaa-default-backing-store); do echo "Deleting Backingstore $bs"; oc delete -n openshift-storage $bs; done
          Copy to Clipboard
        3. 上上記のバッキングストアのいずれかが pv-pool をベースとする場合、対応する Pod および PVC も削除してください。

          $ oc get pods  -n openshift-storage | grep noobaa-pod | grep -v noobaa-default-backing-store-noobaa-pod
          Copy to Clipboard
          $ oc get pvc -n openshift-storage --no-headers | grep -v noobaa-db | grep -v noobaa-default-backing-store-noobaa-pvc
          Copy to Clipboard
      7. 手順 1 に記載されている残りの PVC を削除します。

        $ oc delete pvc <pvc name> -n <project-name>
        Copy to Clipboard
  3. StorageCluster オブジェクトを削除し、関連付けられたリソースが削除されるのを待機します。

    $ oc delete -n openshift-storage storagecluster --all --wait=true
    Copy to Clipboard
  4. namespace を削除し、削除が完了するまで待機します。openshift-storage がアクティブなプロジェクトである場合、別のプロジェクトに切り替える必要があります。

    1. openshift-storage がアクティブな namespace の場合に別の namespace に切り替えます。

      以下は例になります。

      $ oc project default
      Copy to Clipboard
    2. openshift-storage namespace を削除します。

      $ oc delete project openshift-storage --wait=true --timeout=5m
      Copy to Clipboard
    3. 約 5 分間待機し、プロジェクトが正常に削除されたかどうかを確認します。

      $ oc get project  openshift-storage
      Copy to Clipboard

      出力:

      Error from server (NotFound): namespaces "openshift-storage" not found
      Copy to Clipboard
      注記

      OpenShift Container Storage のアンインストール時に、namespace が完全に削除されず、Terminating 状態のままである場合は、Troubleshooting and deleting remaining resources during Uninstall の記事に記載の手順を実行して namespace の終了をブロックしているオブジェクトを特定します。

  5. openshift-storage.noobaa.io ストレージクラスを削除します。

    $ oc delete storageclass  openshift-storage.noobaa.io --wait=true --timeout=5m
    Copy to Clipboard
  6. すべての PV が削除されていることを確認します。Released 状態のままの PV がある場合は、これを削除します。

    # oc get pv|egrep 'ocs-external-storagecluster-ceph-rbd|ocs-external-storagecluster-cephfs'
    Copy to Clipboard
    # oc  delete pv <pv name>
    Copy to Clipboard
  7. CustomResourceDefinitions を削除します。

    $ oc delete crd backingstores.noobaa.io bucketclasses.noobaa.io cephblockpools.ceph.rook.io cephclusters.ceph.rook.io cephfilesystems.ceph.rook.io cephnfses.ceph.rook.io cephobjectstores.ceph.rook.io cephobjectstoreusers.ceph.rook.io noobaas.noobaa.io ocsinitializations.ocs.openshift.io  storageclusterinitializations.ocs.openshift.io storageclusters.ocs.openshift.io cephclients.ceph.rook.io --wait=true --timeout=5m
    Copy to Clipboard
  8. OpenShift Container Platform Web コンソールで、OpenShift Container Storage が完全にアンインストールされていることを確認するには、以下を実行します。

    1. Home Overview をクリックし、ダッシュボードにアクセスします。
    2. Persistent Storage および Object Service タブが Cluster タブの横に表示されないことを確認します。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat