Kubernetes教程

Kubernetes 工作

作业的主要功能是创建一个或多个 Pod 并跟踪 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
在上面的代码中,我们定义了-
kind: Job → 我们已经将 kind 定义为 Job ,它会告诉 kubectl 正在使用的 yaml 文件是用来创建一个作业输入 pod。 Name:py → 这是我们正在使用的模板的名称,规范定义了模板。 name: py → 我们在容器规范下命名为 py ,这有助于识别将要从中创建的 Pod。 图像:python → 我们将要拉取的图像以创建将在 pod 内运行的容器。 restartPolicy: Never →这个镜像重启的条件是从不给出的,这意味着如果容器被杀死或者它是假的,那么它不会自己重启。
我们将使用以下命令使用 yaml 创建作业,该 yaml 以名称 py.yaml 保存。
$ kubectl create –f py.yaml
以上命令将创建一个作业。如果要检查作业的状态,请使用以下命令。
$ kubectl describe jobs/py
以上命令将创建一个作业。如果要检查作业的状态,请使用以下命令。

预定作业

Kubernetes 中的计划作业使用 Cronetes,它接受 Kubernetes 作业并在 Kubernetes 集群中启动它们。
调度作业将在指定的时间点运行 Pod。 为它创建了一个模仿作业,它会自动调用自己。
注意-1.4 版支持计划作业的功能,并且通过传递 –runtime-config=batch/v2alpha1 启动 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
在上面的代码中,我们定义了-
schedule: h/30 * * * * ? → 安排作业每 30 分钟运行一次。 /bin/sh: 这将进入带有/bin/sh 的容器 ps –eaf → 将在机器上运行 ps-eaf 命令并列出容器内所有正在运行的进程。
当我们尝试在指定的时间点构建和运行一组任务,然后完成该过程时,这种计划作业概念非常有用。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4