Kubernetes job

作者: 条子在洗澡 | 来源:发表于2019-04-16 17:32 被阅读3次
    job的restart策略只能是:
    1. Nerver 只要任务没有完成,则是新创建pod运行,直到job完成会产生多个pod
    2. OnFailure 只要pod没有完成,则会重启pod,直到job完成
    
    参数:
    parallelism: 1 一次性运行pod的个数
    completions: 1 有一个pod运行成功
    backoffLimit: 6 失败pod的极限次数
    
    job启动失败的情况下,job必须要完成一次:
    1.如果restart策略设置为Nerver,则不断生成新的pod来执行job的工作,不会重启
    2.如果restart策略设置为OnFailure,则会不断重启pod,直到完成一次。
    
    应用-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
    
    
    应用-cronjob

    1.启用cronjob

    vim /etc/kubernetes/manifests/kube-apiserver.yaml
    #添加
    - --runtime-config=batch/v2alpha1=true
    #重启服务
    systemctl restart kubelet.service
    #验证
    kubectl api-versions
    
    image.png

    2.创建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
    
    

    相关文章

      网友评论

        本文标题:Kubernetes job

        本文链接:https://www.haomeiwen.com/subject/nttiwqtx.html