使用Kubernetes里的job(作业),我们可以很方便地执行一些比较耗时的操作。
新建一个job.ymal文件:
定义了一个Kubernetes job,名称为pi,类型为job,容器名称为pi,镜像为perl,执行的per命令为 print bpi(2000):
这个ymal文件的完整内容:
apiVersion: batch/v1
kind: Job
metadata:
name: pi
spec:
template:
metadata:
name: pi
spec:
containers:
- name: pi
image: perl
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
restartPolicy: Never
使用命令kubectl create -f 导入这个yaml文件,创建一个新的job:
之后在Kubernetes的dashboard里能看到这个新建的job:
job对应的pod状态为Waiting ContainerCreating:
稍后,其状态从Running变为了Terminated:Completed,总共花了14分钟。
在pod的事件日志里,能看到大部分时间花在了perl镜像的下载上:
点击dashboard的logs按钮,就能看到这个2000位圆周率的计算结果:
要获取更多Jerry的原创文章,请关注公众号"汪子熙":