什麼是Job?
Job一般用于資料處理、遷移等一次性任務處理場景,Job會建立Pod進行作業并確定完成。
Job作業模式
- 非并行作業: 作業完成後Pod自動終止。
- 具有完成次數計數的并行作業:指定所需完成作業的次數,作業完成後Pod自動終止。
- 具有工作隊列的并行作業:指定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運作的逾時時間