首页 > 其他 > 详细

控制器(工作负载)

时间:2020-06-15 18:28:35      阅读:54      评论:0      收藏:0      [点我收藏+]

在k8s中controllers控制器也叫工作负载,常见的五种工作负载如下:

1、工作负载-ReplicaSet(副本控制器)

技术分享图片

  • ReplicaSet用于解决pod的扩容和缩容问题。
  • 通常用于无状态应用

 2、工作负载-Deployment

Kubernetes Deployment提供了官方的用于更新Pod和Replica Set(下一代的ReplicationController)的方法,您可以在Deployment对象中只描述您所期望的理想状态(预期的运行状态),Deployment控制器为您将现在的实际状态转换成您期望的状态;

Deployment集成了上线部署、滚动升级、创建副本、暂停上线任务,恢复上线任务,回滚到以前某一版本(成功/稳定)Deployment等功能,在某种程度上, Deployment可以帮我们实现无人值守的上线,大大降低我们的上线过程的复杂沟通、操作风险。

Deployment的典型用例:
    使用Deployment来启动(上线/部署)一个Pod或者ReplicaSet
    检查一个Deployment是否成功执行
    更新Deployment来重新创建相应的Pods(例如,需要使用一个新的Image)
    如果现有的Deployment不稳定,那么回滚到一个早期的稳定的Deployment版本

3、工作负载-StatefulSet

StatefulSet—有状态应用
用于解决各个pod实例独立生命周期管理,提供各个实例的启动顺序和唯一性
    稳定,唯一的网络标识符。
    稳定,持久存储--StatefulSet:每个pod对应一个pv
    有序的,优雅的部署和扩展。
    有序,优雅的删除和终止。
    有序的自动滚动更新。

4、工作负载-DaemonSet

DaemonSet能够让所有(或者一些特定)的Node节点运行同一个pod。当节点加入到kubernetes集群中, pod会被( DaemonSet)调度到该节点上运行,当节点从kubernetes集群中被移除,被( DaemonSet)调度的pod会被移除,如果删除DaemonSet,所有跟这个DaemonSet相关的pods都会被删除。

在使用kubernetes来运行应用时,很多时候我们需要在一个区域( zone)或者所有Node上运行同一个守护进程( pod),例如如下场景:
    每个Node上运行一个分布式存储的守护进程,例如glusterd, ceph
    运行日志采集器在每个Node上,例如fluentd, logstash
    运行监控的采集端在每个Node,例如prometheus node exporter, collectd等

5、Job

技术分享图片

 

控制器(工作负载)

原文:https://www.cnblogs.com/zjz20/p/13132256.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!