我有以下豆荚:
NAME READY STATUS RESTARTS AGE
xxx-myactivities-79f49cdfb4-nwg22 1/1 Terminating 0 10h
xxx-mysearch-55864b5c59-6bnwl 1/1 Terminating 0 1d
xxx-mysearch-55864b5c59-rpn48 1/1 Terminating 0 13h
xxx-mysearch-6ff9bbb7cb-9qgbb 1/1 Terminating 0 3d
Run Code Online (Sandbox Code Playgroud)
我正在运行以下代码来强制删除这些pod:
#
# Clean up dying pods
#
pods=$( kubectl get pods | grep -v Running | tail -n +2 | awk -F " " '{print $1}' )
for pod in $pods;
do
kubectl delete pod $pod --force
done
Run Code Online (Sandbox Code Playgroud)
这是输出:
pod "xxx-myactivities-79f49cdfb4-nwg22" deleted
pod "xxx-mysearch-55864b5c59-6bnwl" deleted
pod "xxx-mysearch-55864b5c59-rpn48" deleted
pod "xxx-mysearch-6ff9bbb7cb-9qgbb" deleted
Run Code Online (Sandbox Code Playgroud)
清理完毕后,这些豆荚仍然会徘徊.
NAME READY STATUS RESTARTS AGE
xxx-myactivities-79f49cdfb4-nwg22 1/1 Terminating 0 10h
xxx-mysearch-55864b5c59-6bnwl 1/1 Terminating 0 1d
xxx-mysearch-55864b5c59-rpn48 1/1 Terminating 0 13h
xxx-mysearch-6ff9bbb7cb-9qgbb 1/1 Terminating 0 3d
Run Code Online (Sandbox Code Playgroud)
如何清理这些豆荚?
Jam*_*ott 28
你有这些选择:
kubectl delete pod xxx --now
Run Code Online (Sandbox Code Playgroud)
要么
SSH进入节点,在运行时计划卡住的pod docker ps | grep {pod name}以获得Docker Container ID运行docker rm -f {container id}
要么
kubectl delete pod NAME --grace-period=0 --force
Run Code Online (Sandbox Code Playgroud)
Che*_*ana 27
要清理Pod,您需要删除其Deployment名称空间。
首先发现存在部署:
$ kubectl get deployments --all-namespaces
NAME READY STATUS RESTARTS AGE
chetabahana-web-584b95d576-62ccj 1/1 Running 0 20m
tutorial-web-56fbccc56b-wbwjq 1/1 Running 0 1m
Run Code Online (Sandbox Code Playgroud)
删除部署<NAME>-xxxx如下:
$ kubectl delete deployment <NAME>
Run Code Online (Sandbox Code Playgroud)
例如删除tutorial-web-56fbccc56b-wbwjq运行:
$ kubectl delete deployment tutorial
Run Code Online (Sandbox Code Playgroud)
然后,所有对应的Pod tutorial-xxxx会自行终止。
NAME READY STATUS RESTARTS AGE
chetabahana-web-584b95d576-62ccj 1/1 Running 0 20m
tutorial-web-56fbccc56b-wbwjq 0/1 Terminating 0 1m
Run Code Online (Sandbox Code Playgroud)
Sac*_*ote 15
要强行删除 pod,请使用它。
kubectl delete pod <Pod_Name> -n <namespace_name> --grace-period=0 --force
或者
kubectl delete pod <Pod_Name> -n <namespace_name> --wait=false
如需参考,请点击以下链接。 https://kubernetes.io/docs/tasks/run-application/force-delete-stateful-set-pod/
小智 9
要使用一个命令删除所有处于终止状态的 pod,请执行以下操作:
for p in $(kubectl get pods | grep Terminating | awk '{print $1}'); do kubectl delete pod $p --grace-period=0 --force;done
Run Code Online (Sandbox Code Playgroud)
kubectl get pod --all-namespaces | awk '{if ($4 != "Running") system ("kubectl -n " $1 " delete pods " $2 " --grace-period=0 " " --force ")}'
Run Code Online (Sandbox Code Playgroud)
你可以使用这个命令
| 归档时间: |
|
| 查看次数: |
34519 次 |
| 最近记录: |