一. 什么是控制器

      Kubernetes中内建了很多controller(控制器)。这些相当3一个状态机,用来控制Pod的具体状态和行为

 

二. 控制器类型

      1. ReplicationController和ReplicaSet

      2. Deployment

      3. DaemonSet

      4. StateFulSet

      5. Job/cronJob

      6. Horizontal Pod Autoscaling

 

三. ReplicationController和ReplicaSet

      Replicationcontroller (RC)用来确保容器应用的副本数始终保持在用户定义的副本数,即如果有容器异常退出,会自动创建新的Pod来替代:而如果异常多出来的容器也会自动回收:

      在新版本的Kubernetes中建议使用Replicaset来取代ReplicationController. Replicaset跟ReplicationController没有本质的不同,只是名字不一样,并且Replicaset支持集合式的selector。

 

四. Deployment(和RS,RC连用,适用于一般服务)

      Deployment为Pod和Replicaset提供了一个声明式定义declarative)方法,用来替代以前的ReplicationController来方便的管理应用。典型的应用场景包括:
      1. 定义Deployment来创建Pod和Replicaset
      2. 滚动升级和回滚应用                                                                                                                                                                       3. 扩容和缩容
      4. 暂停和继续Deployment

 

五. DaemonSet(适用于需要以node为节点的守护进程)


     DoernonSet确保全部(或者一些) Node上运行一个Pod的副本,当有Node加入集群时,也会为他们新增一个Pod,当有Node从集群移除时,这些Pod也会被回收。删除DaemonSet将会删除它创建的所有Pod使用DaemonSet的一些典型用法:
    1. 运行集群存储daemon,例如在每个Node上运行glusterd、ceph                                                                                                   2. 在每个Node上运行日志收集daemon.例如fluentd、logstash
    3. 在每个Node上运行监控daemon,例如Prometheus Node Exporter,collectd、Datadog代理、NewRelic代理,或Ganglia gmond

 

六. Job and CronJob(适用于批处理)

kubernates学习笔记【9】:资源控制器说明

 

七. StatefulSet (适用于有状态服务)

     StatefulSet作为Controller为Pod提供唯-的标识。 它可以保证部署和scale的顺序
     StatefulSet是为了解决有状态服务的问题(对应Deployments和ReplicaSets是为无状态服务而设计),其应用场景包括:

     1. 稳定的持久化存储,即Pod重新调度后还是能访问到相同的持久化数据, 基于PVC来实现
     2. 稳定的网络标志,即Pod重新调度后其PodName和HostName不变, 基于Headless Service (即没有Cluster IP的Service)来实现
     3. 有序部署,有序扩展,即Pod是有顺序的,在部署或者扩展的时候要依据定义的顺序依次依次进行(即从0到
N-1,在下一一个Pod运行之前所有之前的Pod必须都是Running和Ready状态),基于init containers来实现
     4. 有序收缩,有序删除(即从N-1到0)

 

八. Horizontal Pod Autoscaling(HPA)

kubernates学习笔记【9】:资源控制器说明

    他实际上是控制器的附属品,可以实现自动扩展,以性能指标为标准。

相关文章:

  • 2021-10-23
  • 2021-09-19
  • 2021-12-27
  • 2021-12-02
  • 2021-12-24
  • 2021-10-05
  • 2021-07-02
  • 2021-10-14
猜你喜欢
  • 2022-12-23
  • 2021-10-05
  • 2021-11-06
  • 2021-05-23
  • 2022-12-23
  • 2021-10-20
相关资源
相似解决方案