Kubernetes中的Job和CronJob
Job
用于处理离线业务的,运行完成后就终止执行。
运行一个 Pod 对象
编写 Job 的 YAML 文件(job-pi.yaml)
bc 命令是 Linux 里的“计算器”;-l 表示使用标准数学库;a(1) 是调用数学库中的 arctangent 函数,计算 atan(1)。
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)
创建 Job 对象
$ kubectl apply -f job-pi.yaml
job.batch/pi created