【K8S控制器】

概述

Controller Manager在Pod工作流中起着管理和控制整个集群的作用,主要对资源对象进行管理,当Node节点中运行的Pod对象或是Node自身发生意外或故障时,Controller Manager会及时发现并处理,以确保整个集群处于理想工作状态。

kube-controller-manager 由一系列的控制器组成

Replication Controller
Node Controller
CronJob Controller
Daemon Controller
Deployment Controller
Endpoint Controller
Garbage Collector
Namespace Controller
Job Controller
Pod AutoScaler
RelicaSet
Service Controller
ServiceAccount Controller
StatefulSet Controller
Volume Controller
Resource quota Controller

工作流程

在这里插入图片描述


Replication Controller

Replication Controller称为副本控制器,在Pod工作流中主要用于保证集群中Replication Controller所关联的Pod副本数始终保持在预期值,比如若发生节点故障的情况导致Pod被意外杀死,Replication Controller会重新调度保证集群仍然运行指定副本数,另外还可通过调整Replication Controller中spec.replicas属性值来实现扩容或缩容。


Endpoint Controller

用于关联service和pod。
Endpoint用来表示kubernetes集群中Service对应的后端Pod副本的访问地址,Endpoint Controller则是用来生成和维护Endpoints对象的控制器,其主要负责监听Service和对应Pod副本变化。如果监测到Service被删除,则删除和该Service同名的Endpoints对象;如果监测到新的Service被创建或是被修改,则根据该Service信息获得相关的Pod列表,然后创建或更新对应的Endpoints对象;如果监测到Pod的事件,则更新它对应的Service的Endpoints对象。


Node Controller

Node controller通过API server定时获取Node的相关信息,实现管理和监控Node。


deployment controller

deployment管理replicaset,replicaset管理pod。可实现滚动升级和回滚应用、扩容和缩容
在这里插入图片描述


ingress controller

通过Ingress对象创建pod。
然后创建一个service,通过selector和pod中的labels,把service和pod关联起来。


其他controller

Deployment :部署无状态应用
Daemonset : 部署守护应用
Cronjob :部署定时任务
job : 部署定时任务
statefulset : 部署有状态应用


service controller和deployment controller区别

replacaSet确保Pod以指定的副本个数运行;Deployment用于管理Pod、ReplicaSet,可实现滚动升级和回滚应用、扩容和缩容。Service提供一个统一固定入口,负责将前端请求转发给Pod。

通过selector和pod中的labels,把service和pod关联起来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值