即使指定了“ activeDeadlineSeconds”,Kubernetes Job也不会终止

时间:2019-09-25 12:43:17

标签: kubernetes kubectl kubernetes-pod

我的Yaml文件

apiVersion: batch/v1
kind: Job
metadata:
  name: auto
  labels:
    app: auto
spec:
  backoffLimit: 5
  activeDeadlineSeconds: 100
  template:
    metadata:
      labels:
        app: auto
    spec:
      containers:
      - name: auto
        image: busybox
        imagePullPolicy: Always
        ports:
        - containerPort: 9080
      imagePullSecrets: 
      - name: imageregistery
      restartPolicy: Never

豆荚被适当地杀死,但工作在100秒后停止自我杀死。

在容器/吊舱功能完成后,我们有什么办法可以终止工作。

kubectl version --short

Client Version: v1.6.1
Server Version: v1.13.10+IKS


kubectl get jobs --namespace abc
NAME          DESIRED   SUCCESSFUL   AGE
auto   1         1            26m

谢谢

1 个答案:

答案 0 :(得分:1)

完成作业后删除作业的默认方法是使用kubectl delete命令。

如@Erez所述:

  

Kubernetes一直在堆豆荚,这样您就可以   日志,配置等。

如果您不想手动执行此操作,则可以编写一个在集群中运行的脚本,该脚本将检查状态为已完成的作业,然后删除它们。

另一种方法是使用TTL功能,该功能将在指定的秒数后自动删除作业。但是,如果将其设置为零,则会立即清除它们。有关如何设置的更多详细信息,请查看here

请让我知道是否有帮助。