使 Kubernetes 中的 pod/作业超时

Seb*_*eco 2 kubernetes

尝试使用timeoutandbash作为入口点未按预期工作。即使在指定的超时后,Pod 仍会继续运行。目的是有一个bash -c入口点,我可以为其定义超时,之后 pod 会进入“错误”状态。一旦它起作用,这将用于使备份/清理等作业超时,否则这些作业可能会永远卡住。

apiVersion: v1
kind: Pod
metadata:
  labels:
    run: redis-cli
  name: redis-cli
spec:
  containers:
  - name: redis-cli
    image: xxxx/redis-cli:0.0.1
    imagePullPolicy: Always
    env:
      - name: REDIS_SERVICE
        value: redis.svc
      - name: REDIS_PORT
        value: "6666"
    command: ['/usr/bin/timeout', '20', '/bin/bash', '-c' ]
    args:
      - sleep 6000
    resources:
      limits:
        memory: "12Gi"
        cpu: "2000m"
  dnsPolicy: ClusterFirst
  restartPolicy: Never
Run Code Online (Sandbox Code Playgroud)

小智 6

您可以使用spec.activeDeadlineSeconds 来实现超时。

spec:
  activeDeadlineSeconds: 10
  containers:
  - command:
    - /bin/sh
    - -c
    - sleep 6000
    image: busybox
Run Code Online (Sandbox Code Playgroud)