k8s资源无法删除问题

问题:finalize问题导致k8s资源无法删除

解决方法:

这里假设deployment资源无法删除,并且资源yaml文件中finalizers字段
1.获取资源
kubectl get deployment nginx -n default  -o json > tmp.json
2.编辑tmp.json 文件中finalize处如下,使列表为空
"finalizers":[]
k8s controller中删除资源,是使用程序使得列表为空。
3.查看deployment yaml中的selflink路径
selfLink: /apis/apps/v1/namespaces/default/deployments/nginx
4.启动代理
kubectl proxy --port=8080
5.提交
curl -k -H "Content-Type: application/json" -X PUT --data-binary @tmp.json https://127.0.0.1:8080/apis/apps/v1/namespaces/default/deployments/nginx/finalize
6.再次执行删除资源命令

参考文献

https://github.com/AliyunContainerService/kubernetes-ops-handbook/issues/3

猜你喜欢

转载自blog.51cto.com/10983441/2630948