9장. 설치 제거 중 나머지 리소스 문제 해결 및 삭제
필요한 모든 정리 작업을 수행했지만 운영자가 관리하는 일부 사용자 지정 리소스가 완료될 종료자에서 대기 중인 "Terminating" 상태로 남아 있는 경우가 있습니다. 이러한 경우 이러한 리소스를 강제로 제거해야 합니다. 이렇게 하지 않으면 제거 단계를 모두 수행한 후에도 리소스가 "Terminating" 상태로 유지됩니다.
삭제 시 openshift-storage 네임스페이스가 Terminating 상태인지 확인합니다.
$ oc get project -n <namespace>출력:
NAME DISPLAY NAME STATUS openshift-storage Terminating명령 출력의
STATUS섹션에서메시지를 확인하고 나열된 각 리소스에 대해 다음 단계를 수행합니다.NamespaceFinalizersRemaining및 NamespaceContentRemaining$ oc get project openshift-storage -o yaml출력 예 :
status: conditions: - lastTransitionTime: "2020-07-26T12:32:56Z" message: All resources successfully discovered reason: ResourcesDiscovered status: "False" type: NamespaceDeletionDiscoveryFailure - lastTransitionTime: "2020-07-26T12:32:56Z" message: All legacy kube types successfully parsed reason: ParsedGroupVersions status: "False" type: NamespaceDeletionGroupVersionParsingFailure - lastTransitionTime: "2020-07-26T12:32:56Z" message: All content successfully deleted, may be waiting on finalization reason: ContentDeleted status: "False" type: NamespaceDeletionContentFailure - lastTransitionTime: "2020-07-26T12:32:56Z" message: 'Some resources are remaining: cephobjectstoreusers.ceph.rook.io has 1 resource instances' reason: SomeResourcesRemain status: "True" type: NamespaceContentRemaining - lastTransitionTime: "2020-07-26T12:32:56Z" message: 'Some content in the namespace has finalizers remaining: cephobjectstoreuser.ceph.rook.io in 1 resource instances' reason: SomeFinalizersRemain status: "True" type: NamespaceFinalizersRemaining이전 단계에 나열된 나머지 리소스를 모두 삭제합니다.
각 리소스를 삭제할 경우 다음을 수행합니다.
제거해야 하는 리소스의 개체 유형을 가져옵니다. 위의 출력에서 메시지를 확인합니다.
예:
메세지: 네임스페이스의 일부 콘텐츠에는 종료자가 남아 있습니다. cephobjectstoreuser.ceph.rook.io여기에서 cephobjectstoreuser.ceph.rook.io 는 오브젝트 종류입니다.
오브젝트 유형에 해당하는 오브젝트 이름을 가져옵니다.
$ oc get <Object-kind> -n <project-name>예:
$ oc get cephobjectstoreusers.ceph.rook.io -n openshift-storage출력 예:
NAME AGE noobaa-ceph-objectstore-user 26h리소스를 패치합니다.
$ oc patch -n <project-name> <object-kind>/<object-name> --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}}'출력:
cephobjectstoreuser.ceph.rook.io/noobaa-ceph-objectstore-user patched
openshift-storage 프로젝트가 삭제되었는지 확인합니다.
$ oc get project openshift-storage출력:
Error from server (NotFound): namespaces "openshift-storage" not found문제가 해결되지 않는 경우 Red Hat 지원팀에 문의하십시오.