是否可以根据创建时间或年龄删除kubernetes中的POD?
示例:我想删除所有超过1天的POD。这些POD是孤立的,因此不会创建新的POD。
答案 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