「Kubernetes Troubleshoot」- 删除 CRD 资源

  CREATED BY JENKINSBOT

删除 CRD 资源

kubeless – Not able to completely remove Kubernetes CustomResource – Stack Overflow
Custom resources with finalizers can “deadlock” customresourcecleanup.apiextensions.k8s.io finalizer · Issue #60538 · kubernetes/kubernetes

问题描述:部分 CRD 资源无法删除

原因分析:

So it turns out , the root cause was that Custom resources with finalizers can "deadlock". The CustomResource "functions.kubeless.io" had a

Finalizers:
    customresourcecleanup.apiextensions.k8s.io

and this is can leave it in a bad state when deleting.

https://github.com/kubernetes/kubernetes/issues/60538

解决方案:类似 Workaround 方案

# kubectl --kubeconfig /tmp/config  get customresourcedefinitions.apiextensions.k8s.io  | grep cattle

for i in $(kubectl --kubeconfig /tmp/config  get customresourcedefinitions.apiextensions.k8s.io 2>/dev/null | grep cattle | awk '{print $1}')
do
    echo "# ------------ $i "
    kubectl --kubeconfig /tmp/config  patch crd/${i} -p '{"metadata":{"finalizers":[]}}' --type=merge
    kubectl --kubeconfig /tmp/config  delete customresourcedefinitions.apiextensions.k8s.io ${i}
done