k8s集群——Replication Controller与Replica Set
ReplicationController(简称RC),定义了一个期望的场景,即声明某种Pod的副本数量在任意时刻都符合某个预期值。通过RC,k8s实现了用户应用集群的高可用性,同时大减少了系统管理员在传统IT环境中需要完成的许多手工运维工作(如主机监控、应用监控和故障恢复等)。ReplicationController是早期k8s版本中主要使用的一项技术,在较新版本中,RC的功能已经逐渐被功..
ReplicationController(简称RC),定义了一个期望的场景,即声明某种Pod的副本数量在任意时刻都符合某个预期值。通过RC,k8s实现了用户应用集群的高可用性,同时大减少了系统管理员在传统IT环境中需要完成的许多手工运维工作(如主机监控、应用监控和故障恢复等)。
ReplicationController是早期k8s版本中主要使用的一项技术,在较新版本中,RC的功能已经逐渐被功能更强大的ReplicaSet和Deployment的组合所替代。
因为ReplicationController、ReplicaSet和Deployment之间存在着巨大的相似性,所以仍然有了解和掌握RC知识和使用方法的必要。
RC会包含以下几个部分:
(1)Pod期待的副本数;
(2)用于筛选目标Pod的Label Selector;
(3)当Pod的副本数量小于预期时,用于创建新Pod的Pod模板。
(4)修改RC的副本数量可以实现Pod的动态缩放:
$ kubectl scale rc redis-slave --replicas=3
关于删除RC:
删除RC并不会影响通过该RC已经创建好的Pod;
为了删除使用该RC创建的Pods,可以设置replicas为0,然后更新该RC;
使用kubectl delete命令删除RC及其所有pod。
关于ReplicaSet的知识:
由于Replication Controller与k8s代码中的模块Replication Controller同名,所以在k8s v1.2时就升级成了另外一个新的工具Replica Set。二者之间唯一的区别是,Replica Set支持了基于集合的Label Selector功能。
ReplicaSet是支持新的set-based选择器要求的下一代ReplicationController 。它主要用作Deployment协调pod创建、删除和更新。虽然ReplicaSets可以独立使用,但它主要被 Deployments用作pod 机制的创建、删除和更新,建议使用Deployment而不是直接使用ReplicaSets。
RC(Replica Set)的一些特性:
在大多数情况下,我们通过定义一个RC实现Pod的创建过程及副本数量的自动控制。
RC里包括完整的Pod定义模板。
RC通过Label Selector机制实现对Pod副本的自动控制。
通过改变RC里的Pod副本数量,可以实现Pod的扩容或缩容功能。
通过改变RC里Pod模板中的镜像版本,可以实现Pod的滚动升级功能。
更多推荐
所有评论(0)