【赵渝强老师】Job控制器多工作队列的并行方式

发布时间 - 2025-06-26 00:00:00    点击率:

kubernetes job控制器用于管理一次性任务。它确保pod中的容器执行完任务后不会重新启动,并将容器状态设为“completed”。如果容器意外终止,job控制器会根据重启策略重新启动pod。遇到node节点故障时,job控制器会通过调度器将pod重新调度到其他节点。job控制器有两种运行模式:单工作队列的串行方式和多工作队列的并行方式。

视频讲解如下:

接下来通过一个具体示例展示如何使用Job控制器的多工作队列并行方式。在创建多工作队列的Job并行方式时,需要指定两个关键参数:

  • .spec.parallelism:并行执行的Pod数量,即队列数量。
  • .spec.completions:需要完成的总任务数量。

在下面的例子中,总任务数量为5个,创建了3个队列,即并行度为3。整个任务执行需要2分钟。

(1)创建名为“job-demo2.yaml”的文件,并输入以下内容:

apiVersion: batch/v1
kind: Job
metadata:
  name: job-demo2
spec:
  completions: 5
  parallelism: 3
  template:
    spec:
      containers:
      - name: job-demo2
        image: nginx
        imagePullPolicy: IfNotPresent
        # 模拟任务执行60秒
        command: ["/bin/bash","-c","sleep 60"]
      # 重启策略,不进行重启
      restartPolicy: Never

(2)执行以下命令创建Job:

kubectl apply -f job-demo2.yaml

(3)查看Job和Pod信息,如下图所示:

kubectl get job,pod
# 注意:由于总任务数量为5个,但并行执行的队列数量为3,因此这里只看到Job控制器启动了3个Pod。

(4)等待60秒后,再次查看Job和Pod信息,如下图所示:

kubectl get job,pod
# 注意:60秒后,第一批3个任务已完成,Job控制器又启动了2个队列来执行剩余的两个任务。

(5)再等待60秒后,再次查看Job和Pod信息,如下图所示:

kubectl get job,pod
# 注意:经过120秒后,5个任务全部成功执行完成。


# linux  # nginx  # ai  # kubernetes  # 所示  # 重启  # 如下图  # 量为  # 重新启动  # 启动了  # 设为  # 并将  # 有两种  # 如何使用 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  打开php文件提示内存不足_怎么调整php内存限制【解决方案】  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  如何快速搭建支持数据库操作的智能建站平台?  Laravel如何实现模型的全局作用域?(Global Scope示例)  原生JS实现图片轮播切换效果  香港网站服务器数量如何影响SEO优化效果?  浅谈Javascript中的Label语句  如何打造高效商业网站?建站目的决定转化率  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能  原生JS获取元素集合的子元素宽度实例  制作电商网页,电商供应链怎么做?  如何在搬瓦工VPS快速搭建网站?  进行网站优化必须要坚持的四大原则  如何构建满足综合性能需求的优质建站方案?  Laravel如何升级到最新版本?(升级指南和步骤)  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  微信小程序 wx.uploadFile无法上传解决办法  黑客入侵网站服务器的常见手法有哪些?  Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程  JavaScript模板引擎Template.js使用详解  详解MySQL数据库的安装与密码配置  Laravel如何与Pusher实现实时通信?(WebSocket示例)  详解Android——蓝牙技术 带你实现终端间数据传输  如何用西部建站助手快速创建专业网站?  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  android nfc常用标签读取总结  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧  如何在阿里云域名上完成建站全流程?  Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  香港服务器部署网站为何提示未备案?  Laravel如何实现事件和监听器?(Event & Listener实战)  Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  如何在建站之星绑定自定义域名?  如何获取PHP WAP自助建站系统源码?  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】  文字头像制作网站推荐软件,醒图能自动配文字吗?  网站图片在线制作软件,怎么在图片上做链接?  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  Android滚轮选择时间控件使用详解  Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】