- Kubernetes 教程 (jiàochéng)
- Kubernetes - 首页 (shǒuyè)
- Kubernetes - 概述 (gàishù)
- Kubernetes - 架构 (jiàgòu)
- Kubernetes - 设置 (shèzhì)
- Kubernetes - 镜像 (jìngxiàng)
- Kubernetes - 作业 (zuòyè)
- Kubernetes - 标签与选择器 (biāoqiān yǔ xuǎnzé qì)
- Kubernetes - 命名空间 (mìngmíng kōngjiān)
- Kubernetes - 节点 (jiédǐan)
- Kubernetes - 服务 (fúwù)
- Kubernetes - Pod
- Kubernetes - 复制控制器 (fùzhì kòngzhì qì)
- Kubernetes - 副本集 (fùběn jí)
- Kubernetes - 部署 (bùshǔ)
- Kubernetes - 卷 (juǎn)
- Kubernetes - 密钥 (mìyuè)
- Kubernetes - 网络策略 (wǎngluò cèlüè)
- 高级 Kubernetes (gāojí Kubernetes)
- Kubernetes - API
- Kubernetes - Kubectl
- Kubernetes - Kubectl 命令 (mìnglìng)
- Kubernetes - 创建应用程序 (chuàngjiàn yìngyòng chéngxù)
- Kubernetes - 应用程序部署 (yìngyòng chéngxù bùshǔ)
- Kubernetes - 自动伸缩 (zìdòng shēnsuō)
- Kubernetes - 仪表盘设置 (yíbiǎopán shèzhì)
- Kubernetes - 监控 (jiānkòng)
- Kubernetes 有用资源 (yǒuyòng zīyuán)
- Kubernetes - 快速指南 (kuàisù zhǐnǎn)
- Kubernetes - 有用资源 (yǒuyòng zīyuán)
- Kubernetes - 讨论 (tǎolùn)
Kubernetes - 作业 (zuòyè)
作业的主要功能是创建一个或多个 Pod,并跟踪 Pod 的成功情况。它们确保指定数量的 Pod 成功完成。当指定数量的 Pod 成功运行完成时,作业即被认为完成。
创建作业 (chuàngjiàn zuòyè)
使用以下命令创建作业:
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 → 这是我们使用的模板名称,spec 定义了模板。
name: py → 我们在容器规范下给出了名称 py,这有助于识别将由此创建的 Pod。
Image: python → 我们将拉取的镜像,用于创建将在 Pod 内运行的容器。
restartPolicy: Never → 此镜像重启条件设置为 Never,这意味着如果容器被终止或失败,它将不会自行重启。
我们将使用以下命令以及名为 py.yaml 保存的 yaml 文件来创建作业。
$ kubectl create –f py.yaml
上述命令将创建一个作业。如果要检查作业的状态,请使用以下命令。
$ kubectl describe jobs/py
上述命令将创建一个作业。如果要检查作业的状态,请使用以下命令。
定时作业 (dìngshí zuòyè)
Kubernetes 中的定时作业使用 Cronetes,它接收 Kubernetes 作业并在 Kubernetes 集群中启动它们。
- 调度作业将在指定的时间点运行 Pod。
- 为此创建一个周期性作业,它会自动调用自身。
注意 - 定时作业功能由 1.4 版本支持,通过在启动 API 服务器时传递 –runtime-config=batch/v2alpha1 来启用 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 命令,并列出容器内所有正在运行的进程。
当我们尝试在指定时间点构建和运行一组任务然后完成进程时,此定时作业概念非常有用。