Kubernetes:如何根据年龄/创建时间删除POD

时间:2018-02-22 18:12:32

标签: minikube kubernetes

是否可以根据创建时间或年龄删除kubernetes中的POD?

示例:我想删除所有超过1天的POD。这些POD是孤立的,因此不会创建新的POD。

3 个答案:

答案 0 :(得分:5)

我们可以只用awk,方法是直接在[0-9]+d($ 5,第5列)上进行正则表达式AGE,然后打印相应的NAME($ 1,第一列)列

kubectl delete pod $(kubectl get pod | awk 'match($5,/[0-9]+d/) {print $1}')

先测试一下,看看有什么匹配项:

kubectl get pod | awk 'match($5,/[0-9]+d/) {print $0}'

$0表示所有列

答案 1 :(得分:1)

您可以添加liveness probe来跟踪该视频片段活动的时间长度,并在特定时间段内消除它。或者您可以安排CronJob

答案 2 :(得分:0)

修改为适用于 mac:

# try the gnu versions: gxargs
brew install findutils coreutils


kubectl get pods -o go-template -n gui2 --template '{{range .items}}{{.metadata.name}} {{.metadata.creationTimestamp}}{{"\n"}}{{end}}' | awk '$2 <= "'$(gdate -d '21 days ago' -Ins --utc | sed 's/+0000/Z/')'" { print $1 }' | gxargs --no-run-if-empty kubectl delete pod