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