dan*_*982 4 kubernetes minikube
是否可以根据创建时间或年龄删除kubernetes中的POD?
示例:我想删除所有早于1天的POD。这些POD是孤立的,因此不会创建新的POD。
dan*_*982 12
此命令将删除所有早于一天的POD:
kubectl get pods -o go-template --template '{{range .items}}{{.metadata.name}} {{.metadata.creationTimestamp}}{{"\n"}}{{end}}' | awk '$2 <= "'$(date -d 'yesterday' -Ins --utc | sed 's/+0000/Z/')'" { print $1 }' | xargs --no-run-if-empty kubectl delete pod
Run Code Online (Sandbox Code Playgroud)
此命令将删除所有早于4小时的POD:
kubectl get pods -o go-template --template '{{range .items}}{{.metadata.name}} {{.metadata.creationTimestamp}}{{"\n"}}{{end}}' | awk '$2 <= "'$(date -d'now-4 hours' -Ins --utc | sed 's/+0000/Z/')'" { print $1 }' | xargs --no-run-if-empty kubectl delete pod
Run Code Online (Sandbox Code Playgroud)
我们只能awk
通过[0-9]+d
直接在AGE
($ 5,第5列)列上进行正则表达式,然后打印相应的NAME
($ 1,第一列)列来实现此目的
kubectl delete pod $(kubectl get pod | awk 'match($5,/[0-9]+d/) {print $1}')
Run Code Online (Sandbox Code Playgroud)
首先测试以查看匹配的内容:
kubectl get pod | awk 'match($5,/[0-9]+d/) {print $0}'
Run Code Online (Sandbox Code Playgroud)
$0
表示所有列
归档时间: |
|
查看次数: |
4428 次 |
最近记录: |