应该每10分钟运行一次的kubernetes cron作业,并且应该删除集群中所有名称空间中处于“Terminating”状态的pod?请帮助我....我正在努力与bash one liner shell脚本
apiVersion: batch/v1
kind: Job
metadata:
name: process-item-$ITEM
labels:
jobgroup: jobexample
spec:
template:
metadata:
name: jobexample
labels:
jobgroup: jobexample
spec:
containers:
- name: c
image: busybox
command: ["sh", "-c", "echo Processing item $ITEM && sleep 5"]
restartPolicy: Never
使用格式{namespace}列出所有命名空间中的所有终止pod。{name}
kubectl get pods --field-selector=status.phase=Terminating --output=jsonpath='{range .items[*]}{.metadata.namespace}{"."}{.metadata.name}{"\n"}{end}' --all-namespaces=true
给定一个pod的名称及其命名空间,可以强制删除它
kubectl delete pods <pod> --grace-period=0 --force --ns=<namespace>
在一行
for i in `kubectl get pods --field-selector=status.phase=Terminating --output=jsonpath='{range .items[*]}{.metadata.namespace}{"."}{.metadata.name}{"\n"}{end}' --all-namespaces=true`; do kubectl delete pods ${i##*.} --grace-period=0 --force --ns=${i%%.*}; done