开发手册 欢迎您!
软件开发者资料库

Kubernetes - 工作

Kubernetes Jobs - 从简单和简单的步骤学习Kubernetes,从基本到高级概念,包括概述,体系结构,设置,图像,作业,标签和选择器,命名空间,节点,服务,Pod,复制控制器,副本集,部署,卷,秘密,网络政策,API,Kubectl,Kubectl命令,创建应用程序,应用程序部署,自动扩展,仪表板设置,监控。

作业的主要功能是创建一个或多个pod并跟踪pod的成功.它们确保成功完成指定数量的pod.完成指定数量的成功运行后,该作业将被视为已完成.

创建作业

使用以下命令创建工作 : 去;

apiVersion: v1kind: Job ------------------------> 1metadata:   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: v1kind: Jobmetadata:   name: pyspec:   schedule: h/30 * * * * ? -------------------> 1   template:      metadata         name: py      spec:         containers:         - name: py         image: python         args:/bin/sh -------> 2-cps –eaf ------------> 3restartPocliy: OnFailure

在上面的代码中,我们定义了 :

  • 时间表:h/30 * * * *? → 安排作业每30分钟运行一次.

  • /bin/sh:这将使用/bin输入容器/sh

  • ps -eaf →  将在机器上运行ps -eaf命令并列出容器内的所有正在运行的进程.

当我们尝试在指定的时间点构建和运行一组任务时,此预定作业概念非常有用完成这个过程.