应该每10分钟运行一次的kubernetes cron作业,是否应该删除集群中所有名称空间中处于“Terminating”状态的pod?

问题描述 投票:0回答:1

应该每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
kubernetes jobs google-kubernetes-engine kubectl kubernetes-cronjob
1个回答
1
投票

使用格式{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
© www.soinside.com 2019 - 2024. All rights reserved.