一、k8s常见报错

1.1 kubectl无法删除资源

1.1.1 方法一

参考链接https://blog.51cto.com/u_10983441/2630948

这里假设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路径
kubectl describe deployment nginx | grep "Self Link" 就可以得到以下链接
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.再次执行删除资源命令

1.1.2 方法二

如果方法一报错,删不掉可以试试这个方法

在线编辑资源yaml文件
kubectl edit deployment nginx -n default
删除其中的finalizers,保存退出就可以了
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐