k8s踩坑笔记

K8S删除pod之后又自动新建一个pod?

查看所有pod

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
kubectl get pods -A -owide
kubectl get pods -A -owide
kubectl get pods -A -owide

删除pod

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
kubectl delete pod <podname> -n <namespace>
kubectl delete pod <podname> -n <namespace>
kubectl delete pod <podname> -n <namespace>

然后再查看所有pod,发现又新建了一个pod。这是因为deployment.yaml文件中定义了副本数量,所以还需要删除副本。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
kubectl get deployment -A
kubectl get deployment -A
kubectl get deployment -A

删除副本

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
kubectl delete deployment <name> -n <namespace>
kubectl delete deployment <name> -n <namespace>
kubectl delete deployment  <name> -n <namespace>

删除副本后此时对应的pod也被删除了。

原因分析:在yaml中设置了副本数量,当pod被删除时就会创建新的pod。

k8s强制删除pod的方法

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
kubectl get rc
kubectl get rc
kubectl get rc     

  如果有rc,先删除rc,再删除pod

  如果没有rc,直接执行:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
kubectl delete pod <name> --grace-period=0 --force -n <namespace>
kubectl delete pod <name> --grace-period=0 --force -n <namespace>
kubectl delete pod <name> --grace-period=0 --force -n <namespace>

赞赏

微信赞赏支付宝赞赏