k8s之资源删除
一、Kubernetes控制器的删除有3种模式:
1、删除pod
kubectl delete pod pod_name
2、强制删除
kubectl delete pod pod_name --force --grace-period=0
3、强制删除
kubectl edit pv pvc_name
apiVersion: v1
kind: PersistentVolume
metadata:
annotations:
finalizers:[](将这里变成[]即可)
二、删除命名空间删除不掉,如何解决
删除命名空间后,一直处于Terminating状态中,强制删除也不行。
1、看里面的资源是否存在,如果存在,可以先删除资源后,ns自动消失;
2、ns里无资源;
kubectl get namespace devtesting -o json > devtesting.json
修改:"spec": { },
执行以下curl命令,使用kube-apiserver的8080端口,执行删除操作
curl -k -H "Content-Type: application/json" -X PUT --data-binary @devtesting.json http://127.0.0.1:8080/api/v1/namespaces/devtesting/finalize
三、client-go删除:
a、Foreground:(常用)
删除控制器之前,先删除控制器所管理的资源对象删除。
b、Background:
删除控制器后,控制器所管理的资源对象由GC在后台进行删除。
c、Orphan:
只删除控制器,不删除控制器所管理的资源对象