Kubernetes job

job的restart策略只能是:
1. Nerver 只要任務(wù)沒有完成,則是新創(chuàng)建pod運行,直到j(luò)ob完成會產(chǎn)生多個pod
2. OnFailure 只要pod沒有完成,則會重啟pod,直到j(luò)ob完成
參數(shù):
parallelism: 1 一次性運行pod的個數(shù)
completions: 1 有一個pod運行成功
backoffLimit: 6 失敗pod的極限次數(shù)
job啟動失敗的情況下,job必須要完成一次:
1.如果restart策略設(shè)置為Nerver,則不斷生成新的pod來執(zhí)行job的工作,不會重啟
2.如果restart策略設(shè)置為OnFailure,則會不斷重啟pod,直到完成一次。
應(yīng)用-job
apiVersion: batch/v1
kind: Job
metadata:
  name: job1
spec:
  backoffLimit: 6
  completions: 1
  parallelism: 1
  template:
    metadata:
      name: pi
    spec:
      containers:
      - name: hello
        image: docker.io/busybox
        command: ["echo","hello world!"]
      restartPolicy: Never

應(yīng)用-cronjob

1.啟用cronjob

vim /etc/kubernetes/manifests/kube-apiserver.yaml
#添加
- --runtime-config=batch/v2alpha1=true
#重啟服務(wù)
systemctl restart kubelet.service
#驗證
kubectl api-versions
image.png

2.創(chuàng)建cronjob,apiVersion為之前kube-apiserver.yaml中添加啟用的

apiVersion: batch/v2alpha1
kind: CronJob
metadata:
  name: job2
spec:
  schedule: "*/1 * * * *"
  jobTemplate:
    spec:
      template:
        spec:
          containers: 
          - name: hello
            image: docker.io/busybox
            command: ["echo","hello world!"]
          restartPolicy: OnFailure

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容