kubernetes job的原理


job例子:

apiVersion: batch/v1   #job的apiVersion
kind: Job              #資源類型為job
metadata:              
  labels:
    name: busybox
  name: busybox
spec:
  template:
    metadata:
      name: busybox
    spec:
      containers:
        - name: busybox
          image: myhub.mingyuanyun.com/library/busybox
          command:
            - sleep
            - "30"
      restartPolicy: Never  #什么情況下重啟容器,job一般只能設置為Never和OnFailure,一般設置為Never
 
        
restartPolicy: Never  #如果使用參數Never,容器啟動后未成功就會一直創建新的容器
restartPolicy: OnFailure  #如果使用參數OnFailure,容器啟動后未成功不會在創建新的容器,他會一直重啟

 

kubectl apply -f myjob.yaml

kubectl get job

kubectl get pod --show-all

kubectl logs busybox

kubectl delete -f myjob.yaml

並行job的創建:

apiVersion: batch/v1   
kind: Job            
metadata:              
  labels:
    name: busybox
  name: busybox
spec:
completions: 6 #直到總共有6個pod成功執行 如果不指定默認值為1
parallelism: 2 #一次啟動2個pod來執行job 如果不指定默認值為1 template: metadata: name: busybox spec: containers: - name: busybox image: myhub.mingyuanyun.com/library/busybox command: - sleep - "30" restartPolicy: Never

  

定時job:

apiVersion: batch/v2alpha1  #當前CronJob的apiVersion
kind: CronJob            #當前類型CronJob
metadata:              
  name: test
spec:
  schedule: "*/1 * * * *"  #運行時間,格式與linux一致
  jobTemplate:  #job模板
    spec:
      template:
         spec:
            containners:
            - name: test
              image: nginx
              command: ["echo", "this is test"]
            restartPolicy: OnFailure

  

需要在kube-aoiservier配置文件中添加

 

kubectl api-version   #查看當前所有api-version 是否支持 batch/v2alpha1

 

kubectl  get cronjob

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM