我试图删除一个有12个pod的ReplicationController,我可以看到一些pod卡在终止状态。
我的Kubernetes集群由一个控制平面节点和三个安装在Ubuntu虚拟机上的工作节点组成。
这个问题的原因是什么?
NAME READY STATUS RESTARTS AGE
pod-186o2 1/1 Terminating 0 2h
pod-4b6qc 1/1 Terminating 0 2h
pod-8xl86 1/1 Terminating 0 1h
pod-d6htc 1/1 Terminating 0 1h
pod-vlzov 1/1 Terminating 0 1h
Go模板可以在没有awk的情况下工作,对我来说,它可以在没有-grace-period=0 -force的情况下工作,但是,如果你喜欢的话,可以添加它
这将输出删除终止pods的命令。
kubectl get pods --all-namespaces -otemplate='{{ range .items }}{{ if eq .status.reason "Terminated" }}{{printf "kubectl delete pod -n %v %v\n" .metadata.namespace .metadata.name}}{{end}}{{end}}'
如果您对输出感到满意,可以添加| sh -来执行它。
遵循:
kubectl get pods --all-namespaces -otemplate='{{ range .items }}{{ if eq .status.reason "Terminated" }}{{printf "kubectl delete pod -n %v %v\n" .metadata.namespace .metadata.name}}{{end}}{{end}}' |sh -
Go模板可以在没有awk的情况下工作,对我来说,它可以在没有-grace-period=0 -force的情况下工作,但是,如果你喜欢的话,可以添加它
这将输出删除终止pods的命令。
kubectl get pods --all-namespaces -otemplate='{{ range .items }}{{ if eq .status.reason "Terminated" }}{{printf "kubectl delete pod -n %v %v\n" .metadata.namespace .metadata.name}}{{end}}{{end}}'
如果您对输出感到满意,可以添加| sh -来执行它。
遵循:
kubectl get pods --all-namespaces -otemplate='{{ range .items }}{{ if eq .status.reason "Terminated" }}{{printf "kubectl delete pod -n %v %v\n" .metadata.namespace .metadata.name}}{{end}}{{end}}' |sh -