K8S--五种控制器类型解析(Deployment 、StatefulSet 、DaemonSet 、Job 、CronJob)

  • Deployment:‌主要用于部署无状态服务。‌它是一个声明式更新策略,‌可以确保在任何给定时间运行特定数量的Pod,‌并且当Pod模板更改时,‌Deployment控制器会更新运行中的Pod副本以匹配最新配置。‌Deployment能够自动化地执行滚动更新,‌即逐步替换旧版本的Pod以新版本,‌从而避免了服务中断。‌此外,‌Deployment还提供了回滚机制,‌如果更新出现问题,‌可以轻松地回滚到之前的版本。‌

  • Job:‌用于执行批处理任务,‌它确保某一批任务执行成功完成,‌无论这些任务是否成功完成。‌Job非常适合运行一次性的任务或者批处理作业,‌比如数据分析和处理任务。‌Job可以创建多个Pod来执行任务,‌并且当所有Pod成功完成时,‌Job也会自动完成。‌

  • StatefulSet:‌用于部署有状态应用。‌与Deployment不同,‌StatefulSet为每个Pod分配一个唯一的网络标识符,‌并且保证了Pod的顺序启动。‌StatefulSet非常适合需要稳定持久存储的应用,‌比如数据库集群等。‌由于StatefulSet保证了Pod的唯一性和稳定性,‌因此它非常适合需要保持网络标识不变的应用场景。‌

  • DaemonSet控制器:在每一个Node上运行一个Pod,新加入的Node也同样会自动运行一个Pod,应用场景:监控,分布式存储,日志收集等

综上所述

  • Deployment适合部署无状态服务,‌提供滚动更新和回滚机制。‌
  • Job适合执行批处理任务,‌确保任务成功完成,一次性执行任务,执行完任务容器关闭。。‌
  • StatefulSet适合部署有状态应用,‌保证Pod的唯一性和稳定性。‌
  • DaemonSet一次部署,所有的node节点都会部署,包括新加入的node节点,同样会被部署。适用于集群、日志、监控。
  • CronJob周期性执行任务。
  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值