1、Kubernetes Job作业
Job作业的主要功能是创建一个或多个 Pod 并跟踪 Pod 的成功。它们确保成功完成指定数量的 pod。当完成指定数量的 Pod 成功运行时,则认为该作业已完成。
1)创建Job作业
yaml配置文件如下:
apiVersion: v1 kind: Job metadata: name: py spec: template: metadata name: py spec: containers: - name: py image: python command: ["python", "SUCCESS"] restartPocliy: Never
Job :配置里kind: Job
中的Job表示,kubectl正在使用的yaml文件是用于创建作业类型 pod。
py :配置里template下的第一个name: py
中py表示正在使用的模板的名称,规范定义了模板。配置里containers下的- name: py
中py表示在容器规范下给了一个名称为py,这有助于识别将要从中创建的 Pod。
Image:需要使用的镜像以创建将在 pod 内运行的容器。
Never:配置里restartPolicy: Never
中Never表示镜像重启的条件是从不给出的,也就是如果容器被杀死或者如果它是意外停止,那么它不会自动重启。
2、作业命令
使用上面的配置文件,可以执行如下命令:
1)使用以下带有 yaml 的命令创建作业
$ kubectl create –f py.yaml
2)检查作业的状态
$ kubectl describe jobs/py
3、定时作业
Kubernetes 中的计划作业使用Cronetes,它接受 Kubernetes 作业并在 Kubernetes 集群中启动它们。调度作业将在指定的时间点运行一个 pod。
yaml配置文件如下:
apiVersion: v1 kind: Job metadata: name: py spec: schedule: h/30 * * * * ? template: metadata name: py spec: containers: - name: py image: python args: /bin/sh -c ps –eaf restartPocliy: OnFailure
schedule:配置里schedule: h/30 * * * * ?
中配置作业每 30
分钟运行一次。
相关文档:
Kubernetes(K8s) kubectl create常用命令