编辑
2025-08-18
K8S(重新复习)
00

目录

一、概念
二、Jbo使用

一、概念

Job控制器主要用于管理一次性任务或批处理任务,确保Pod成功运行并完成任务后终止。

‌1.任务执行保障‌

创建指定数量的Pod并监控其状态,直到任务成功完成(退出码为0) 适用于非持久性任务,如数据处理、压缩文件等一次性操作

‌2.关键特性‌

‌并行控制‌:支持配置并行运行的Pod数量,提高任务效率

‌失败重试‌:自动重启失败的Pod或创建新Pod替代,确保任务最终完成

‌成功计数‌:记录成功完成的Pod数量,达到阈值后标记Job为完成状态

‌自动清理‌:任务完成后自动回收相关资源(如Pod)

‌3.与常规控制器的区别‌

Deployment/ReplicaSet等控制器用于持久运行服务,而Job专注于短期任务

Job不要求Pod持续运行,任务结束即终止

‌4.典型使用场景‌

批处理作业(如日志分析、数据导出)

定时任务的基础单元(与CronJob结合实现周期性任务)

二、Jbo使用

yml
# Kubernetes Job配置示例 - 计算π到2000位小数 apiVersion: batch/v1 # 使用Batch API的v1版本 kind: Job # 资源类型为Job(一次性任务) metadata: name: pi # Job名称设置为"pi" spec: template: # Pod模板定义 spec: containers: - name: pi # 容器名称 image: perl:5.34.0 # 使用官方Perl镜像 command: - "perl" - "-Mbignum=bpi" # 加载高精度数学计算模块 - "-wle" # 启用警告和自动换行 - "print bpi(2000)" # 输出π的2000位小数 restartPolicy: Never # 失败时不重启容器(Job专用策略) backoffLimit: 4 # 最大重试次数(含首次尝试)

可以看出运行Job执行完任务结束后,处于一个ContainerCreating状态,并不会删除pod image.png

可以定义ttlSecondsAfterFinished定义执行完任务后多少秒后删除pod

yml
# Kubernetes Job配置示例 - 计算π到2000位小数 apiVersion: batch/v1 # 使用Batch API的v1版本 kind: Job # 资源类型为Job(一次性任务) metadata: name: pi # Job名称设置为"pi" spec: ttlSecondsAfterFinished: 10 #定义执行完成任务后10S删除pod template: # Pod模板定义 spec: containers: - name: pi # 容器名称 image: perl:5.34.0 # 使用官方Perl镜像 command: - "perl" - "-Mbignum=bpi" # 加载高精度数学计算模块 - "-wle" # 启用警告和自动换行 - "print bpi(2000)" # 输出π的2000位小数 restartPolicy: Never # 失败时不重启容器(Job专用策略) backoffLimit: 4 # 最大重试次数(含首次尝试)

本文作者:松轩(^U^)

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

Document