第10章 トラブルシューティングおよびアンインストール時の残りのリソースの削除
Operator によって管理されるカスタムリソースの一部は、必要なすべてのクリーンアップタスクを実行しても、ファイナライザーで "Terminating" ステータスのままになり、完了まで待機する必要がある場合があります。このような場合には、このようなリソースを強制的に削除する必要があります。これを実行しないと、すべてのアンインストール手順を実行しても、リソースは Terminating 状態のままになります。
openshift-storage namespace が削除時に
Terminating状態のままであるかどうかを確認します。oc get project -n <namespace>
$ oc get project -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力:
NAME DISPLAY NAME STATUS openshift-storage Terminating
NAME DISPLAY NAME STATUS openshift-storage TerminatingCopy to Clipboard Copied! Toggle word wrap Toggle overflow コマンド出力の
STATUSセクションでNamespaceFinalizersRemainingおよびNamespaceContentRemainingメッセージの有無を確認し、リスト表示される各リソースについて以下の手順を実行します。oc get project openshift-storage -o yaml
$ oc get project openshift-storage -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 先の手順に記載されている残りのすべてのリソースを削除します。
削除する各リソースについて、以下を実行します。
削除する必要のあるリソースの種類を取得します。上記の出力のメッセージを確認します。
例:
message: Some content in the namespace has finalizers remaining: cephobjectstoreuser.ceph.rook.ioここで、cephobjectstoreuser.ceph.rook.io はオブジェクトの種類です。
オブジェクトの種類に対応するオブジェクト名を取得します。
oc get <Object-kind> -n <project-name>
$ oc get <Object-kind> -n <project-name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
oc get cephobjectstoreusers.ceph.rook.io -n openshift-storage
$ oc get cephobjectstoreusers.ceph.rook.io -n openshift-storageCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例:
NAME AGE noobaa-ceph-objectstore-user 26h
NAME AGE noobaa-ceph-objectstore-user 26hCopy to Clipboard Copied! Toggle word wrap Toggle overflow リソースにパッチを適用します。
oc patch -n <project-name> <object-kind>/<object-name> --type=merge -p '{"metadata": {"finalizers":null}}'$ oc patch -n <project-name> <object-kind>/<object-name> --type=merge -p '{"metadata": {"finalizers":null}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc patch -n openshift-storage cephobjectstoreusers.ceph.rook.io/noobaa-ceph-objectstore-user \ --type=merge -p '{"metadata": {"finalizers":null}}'$ oc patch -n openshift-storage cephobjectstoreusers.ceph.rook.io/noobaa-ceph-objectstore-user \ --type=merge -p '{"metadata": {"finalizers":null}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力:
cephobjectstoreuser.ceph.rook.io/noobaa-ceph-objectstore-user patched
cephobjectstoreuser.ceph.rook.io/noobaa-ceph-objectstore-user patchedCopy to Clipboard Copied! Toggle word wrap Toggle overflow
openshift-storage プロジェクトが削除されていることを確認します。
oc get project openshift-storage
$ oc get project openshift-storageCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力:
Error from server (NotFound): namespaces "openshift-storage" not found
Error from server (NotFound): namespaces "openshift-storage" not foundCopy to Clipboard Copied! Toggle word wrap Toggle overflow 問題が解決しない場合は、Red Hat サポート にご連絡ください。