k8s术语之Replication Controller

Replication Controller 在kubernetes中简称RC,它其实是定义了一个期望的场景,即声明某种Pod的副本数量在任意时刻都符合某个预期值,包括一下几个值:

1.Pod期待的副本数(replicas)

2.用于筛选目标Pod的Lable Selector

3.当Pod的副本数量小于预期数量时,用于创建新的Pod的模板(template)

当我们定义了一个RC并提交到kubernetes后,Master节点上的Controller Manager组件就得带通知,定期巡检检测中当前存活的目标Pod,并确保目标Pod实例的梳理刚好等于replicas的值,如果多于这个值,系统就会停掉一些pod,少之则创建。可以说,通过RC,kubernetes实现用户应用集群的高可用性,减少了手工运维操作

通过RC,可动态进行Pod实例数的缩放,kubectl scale命令为我们提供了这一功能

kubectl scale rc redis-slave --replicas=3

需要注意的是,删除RC并不会影响通过该RC已经创建好的Pod,为了删除所有Pod,可用通过设置replicas的值为0,然后更新该RC.另外Kubectl提供了stop和delete命令来一次性删除RC和RC控制的所有Pod

RC也提供用户应用平滑升级的功能,比如当前系统中有10个旧版本的Pod需要更新到新版,最好的方式是每次停止一个旧版本的Pod,就创建一个新版本的Pod,几分钟后当所有的Pod都是新版本时升级完成,用户不会感受到业务有任何影响,这种在kubernetes中被称作"滚动升级"

扩展和缩减

将replicas修改为5

kubectl apply -f rctest.yaml

kubectl get pod -o wide

相关推荐
南客先生9 分钟前
音视频项目在微服务领域的趋势场景题深度解析
java·微服务·面试·性能优化·音视频·高并发
阿湯哥1 小时前
外部访问 Kubernetes 集群中 MQ 服务的方案
云原生·容器·kubernetes
xcLeigh1 小时前
HTML5好看的水果蔬菜在线商城网站源码系列模板8
java·前端·html5
Alsn861 小时前
11.Spring Boot 3.1.5 中使用 SpringDoc OpenAPI(替代 Swagger)生成 API 文档
java·spring boot·后端
liyongjun63161 小时前
Java List分页工具
java·后端
猎人everest2 小时前
Spring Boot集成Spring Cloud 2024(不使用Feign)
java·spring boot·spring cloud
茂桑2 小时前
日常开发小Tips:后端返回带颜色的字段给前端
java·状态模式
佩奇的技术笔记2 小时前
Java学习手册:Spring 中常用的注解
java·spring
一键三联啊2 小时前
GC的查看
java·jvm·python
PolarisHuster2 小时前
如何查看k8s获取系统是否清理过docker镜像
docker·容器·kubernetes