天天看點

Kubernetes - 4.7 Workload - Job

什麼是Job?

Job一般用于資料處理、遷移等一次性任務處理場景,Job會建立Pod進行作業并確定完成。

Job作業模式

  1. 非并行作業: 作業完成後Pod自動終止。
  2. 具有完成次數計數的并行作業:指定所需完成作業的次數,作業完成後Pod自動終止。
  3. 具有工作隊列的并行作業:指定Pod之間或外部服務的協調确定作業,Pod全部終止後作業完成。

通過Yaml資源定義清單建立Job

apiVersion: batch/v1
kind: Job
metadata:
  name: pi
spec:
  template:
    spec:
      containers:
      - name: pi
        image: perl
        command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"] 
      restartPolicy: Never
  backoffLimit: 4           

參數

.spec.completions #需要Pod的執行成功次數
.spec.parallelism #Job同時可執行的Pod數量
.spec.backoffLimit #Job的容錯次數
.spec.activeDeadlineSeconds #設定Job運作的逾時時間           

繼續閱讀