美文网首页
ReplicationController

ReplicationController

作者: cdz620 | 来源:发表于2020-03-04 09:38 被阅读0次

功能

  • 维持集群中一定数量pod的replics处于运行状态
  • pod异常时,自动创建新的replics
  • 管理pod的生命周期
  • 尽量让所有的pod都通过RC创建,即使一个,RC能保证pod服务的稳定性

Labels on the ReplicationController

  • .metadata.labels一般和.spec.template.metadata.labels 相同,
  • 如果.metadata.labels没有设置,那么会默认和.spec.template.metadata.labels 相同
  • .metadata.labels 和 .spec.template.metadata.labels 允许不同
  • 一般的做法,只设置.metadata.labels

Pod Selector

  • .spec.template.metadata.labels 和 .spec.selector 必须保持相同,否则会被api拒绝
  • 选择器最好保持与其他object的选择器都不相同,如果相同时ReplicationController会认为其他的pods也是由它创建的(kubectl describe 会筛选出非rc的,但是匹配的selector),
  • Kubernetes 不会对selector做唯一性验证,用户必须自己控制

删除rc

删除rc

  • 缩小rc中的replics 为0 ,
  • 删除每个pod
  • 删除rc本身
  • 如果产生任何中断,删除流程会重新启动

删除rc,不删除pod

  • --cascade=false
  • 删除rc后,可以创建新的rc,通过指定相同.spec.selector 将会适配旧的pod,匹配后不会更新存在的pod

从rc中隔离pod

  • kubectl edit pod xxx
  • 修改label标签(rc通过标签匹配pod)
  • 经过一段时间后,会重新创建新的pod,修改标签后的pod就被隔离
  • kubectl delete rc 后,隔离的pod还存在

Rolling updates 滚动更新机制

新的更新被采用后,rc会一个个更新pod

kubectl rolling-update 管理RC工具

使用新的RC(新的pod template)一个个更新替换旧的pod

多个rc的应用

多个rc在service中的应用

  • 多版本api使用多个rc
  • 多个不同的子服务,多个不同的rc

多个rc用于追踪不同的release track

ReplicationController 相关概念

ReplicaSet

支持 set-based选择器的RC

deployment

高级API对象,包含更多功能

Job

批量处理job,或者pod执行流程处理工作,处理完就结束

DamonSet

随着宿主机开启的Dameon Pod,提供机器级别的功能,例如资源监控,机器日志。它的生命周期,跟随着机器的生命周期

相关文章

网友评论

      本文标题:ReplicationController

      本文链接:https://www.haomeiwen.com/subject/rrfdchtx.html