1.13.2. 解决问题: 删除集群后命名空间被保留
完成以下步骤以手动删除命名空间:
运行以下命令以生成保留在 <cluster_name> 命名空间中的资源列表:
oc api-resources --verbs=list --namespaced -o name | grep -E '^secrets|^serviceaccounts|^managedclusteraddons|^roles|^rolebindings|^manifestworks|^leases|^managedclusterinfo|^appliedmanifestworks'|^clusteroauths' | xargs -n 1 oc get --show-kind --ignore-not-found -n <cluster_name>
oc api-resources --verbs=list --namespaced -o name | grep -E '^secrets|^serviceaccounts|^managedclusteraddons|^roles|^rolebindings|^manifestworks|^leases|^managedclusterinfo|^appliedmanifestworks'|^clusteroauths' | xargs -n 1 oc get --show-kind --ignore-not-found -n <cluster_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用您要删除的集群的命名空间名称替换
cluster_name。输入以下命令来编辑列表,删除列表中状态不是
Delete的资源:oc edit <resource_kind> <resource_name> -n <namespace>
oc edit <resource_kind> <resource_name> -n <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
resource_kind替换为资源类型。将resource_name替换为资源的名称。使用资源的命名空间的名称替换namespace。-
在元数据中找到
finalizer属性。 -
使用 vi 编辑器的
dd命令删除非 Kubernetes finalizer。 -
输入
:wq命令保存列表并退出vi编辑器。 输入以下命令来删除命名空间:
oc delete ns <cluster-name>
oc delete ns <cluster-name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用您要删除的命名空间的名称替换
cluster-name。