k8s强制删除CRD

发布时间 2023-05-31 14:30:51作者: 文十七

在 Kubernetes 中,当你删除一个自定义资源对象时,默认情况下其实并不会真正删除。相反,Kubernetes 会将该对象的状态更新为“Terminating”,并在其 metadata.finalizers 字段中添加一些值,以确保相关的清理工作被完成后再真正删除该对象。

如果你想要强制删除一个自定义资源对象,你需要通过执行这个命令来移除其 finalizers 字段中的所有值,使其能够被立即删除。

具体来说,使用 kubectl patch 来更新CRD对象的 metadata.finalizers 字段,并将其设置为空数组,从而告诉 Kubernetes 可以立即删除该对象。

 

kubectl patch crd/{crd名字} -p '{"metadata":{"finalizers":[]}}' --type=merge