kubernetes cron作业应该每10分钟运行一次,并且应该删除集群中所有命名空间中处于“终止”状态的Pod?

时间:2019-03-14 02:08:05

标签: kubernetes jobs google-kubernetes-engine kubectl kubernetes-cronjob

kubernetes cron作业应每10分钟运行一次并应删除Pod 集群中所有名称空间中哪些处于“终止”状态?请 帮帮我.... am正在努力打击bash一个衬里壳脚本

  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

1 个答案:

答案 0 :(得分:1)

以{namespace}。{name}

格式列出所有命名空间中的所有终止pod。
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