2 篇文章带有标签 “Job”

基于模板创建Job

基于一个公共的模板运行多个Jobs。 你可以用这种方法来并行执行批处理任务。

查看 jobs 目录,可以看到下面的结果。

$ tree jobs
jobs
├── job-apple.yaml
├── job-banana.yaml
└── job-cherry.yaml

也可以直接创建 Job 对象

cat job.yaml.jinja2 | render_template | kubectl apply -f -

Kubernetes中的Job和CronJob

tan(π/4) = 1。所以,4*atan(1)正好就是π,也就是 3.1415926…。

apiVersion: batch/v1
kind: Job
metadata:
  name: pi
spec:
  template:
    spec:
      restartPolicy: Never
      containers:
      - name: pi
        image: alpine
        command: ["sh", "-c", "echo 'scale=6000; 4*a(1)' | bc -l"]
  • restartPolicy: Pod 内所有容器的重启策略。对于 Job 重启策略只能是 OnFailure 和 Never,默认是 Always。
    • OnFailure
    • Never
    • Always(default)

运行完成后再次查看,Pod 的状态变为 Completed,不会自动删除,方便您查看日志。

$ kubectl get all
NAME           READY   STATUS      RESTARTS   AGE
pod/pi-866nk   0/1     Completed   0          11m

NAME           COMPLETIONS   DURATION   AGE
job.batch/pi   1/1           10m        11m

查看 Job 对象的描述 $ kubectl describe job pi