作业的主要功能是创建一个或多个pod并跟踪pod的成功.它们确保成功完成指定数量的pod.完成指定数量的成功运行后,该作业将被视为已完成.
使用以下命令创建工作 : 去;
apiVersion: v1 kind: Job ------------------------> 1 metadata: name: py spec: template: metadata name: py -------> 2 spec: containers: - name: py ------------------------> 3 image: python----------> 4 command: ["python", "SUCCESS"] restartPocliy: Never --------> 5
在上面的代码中,我们定义了 :
种类:Job → 我们已将类型定义为Job,它将告诉 kubectl 正在使用的 yaml 文件是创建作业类型窗格.
名称:py → 这是我们正在使用的模板的名称和规范定义模板.
name:py → 我们在容器下给出了 py 的名称规范有助于识别将要创建的Pod.
图像:python → 图像哪个我们将拉动以创建将在pod内运行的容器.
restartPolicy:Never → 此图像条件重启是永远的,这意味着如果容器被杀死或者它是假的,那么它就不会重新启动.
我们将使用以下命令创建作业,其中yaml是sa ved的名称为 py.yaml .
$ kubectl create -f py.yaml
上述命令将创建一个作业.如果要检查作业的状态,请使用以下命令.
$ kubectl describe jobs/py
上述命令将创建一个作业.如果要检查作业的状态,请使用以下命令.
Kubernetes中的计划作业使用 Cronetes ,它将Kubernetes作业并在Kubernetes集群中启动它们.
安排作业将在指定的点运行一个pod时间.
为它创建一个自动调用的模仿作业.
注意 : 版本1.4支持预定作业的功能,并且在启动API服务器时通过传递 -runtime-config = batch/v2alpha1 来打开betch/v2alpha 1 API.
我们将使用与创建作业相同的yaml并将其作为预定作业.
apiVersion: v1 kind: Job metadata: name: py spec: schedule: h/30 * * * * ? -------------------> 1 template: metadata name: py spec: containers: - name: py image: python args: /bin/sh -------> 2 -c ps –eaf ------------> 3 restartPocliy: OnFailure
在上面的代码中,我们定义了 :
时间表:h/30 * * * *? → 安排作业每30分钟运行一次.
/bin/sh:这将使用/bin输入容器/sh
ps -eaf → 将在机器上运行ps -eaf命令并列出容器内的所有正在运行的进程.
当我们尝试在指定的时间点构建和运行一组任务时,此预定作业概念非常有用完成这个过程.