我有一个 k8s cronjob,它由一个 init 容器和一个 pod 容器组成。如果 init 容器失败,主容器中的 Pod 永远不会启动,并无限期地停留在“PodInitializing”中。
如果 init 容器失败,我的目的是让作业失败。
---
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: job-name
namespace: default
labels:
run: job-name
spec:
schedule: "15 23 * * *"
startingDeadlineSeconds: 60
concurrencyPolicy: "Forbid"
successfulJobsHistoryLimit: 30
failedJobsHistoryLimit: 10
jobTemplate:
spec:
# only try twice
backoffLimit: 2
activeDeadlineSeconds: 60
template:
spec:
initContainers:
- name: init-name
image: init-image:1.0
restartPolicy: Never
containers:
- name: some-name
image: someimage:1.0
restartPolicy: Never
Run Code Online (Sandbox Code Playgroud)
pod 上的 kubectl 卡住会导致:
Name: job-name-1542237120-rgvzl
Namespace: default
Priority: 0 …Run Code Online (Sandbox Code Playgroud) kubernetes kubernetes-pod kubernetes-cronjob kubernetes-jobs