读书笔记-k8s- 1.4 基本概念和术语 rc--rs

 

RC是Kubernetes系统中的核心概念之一,简单来说,它其实定义了一个期望的场景,即声明某种Pod的副本数量在任意时刻都符合某个预期值,所以RC的定义包括如下几个部分。

◎ Pod期待的副本数量。

◎ 用于筛选目标Pod的Label Selector。

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

 

应用升级时,通常会使用一个新的容器镜像版本替代旧版本。我们希望系统平滑升级,比如在当前系统中有10个对应的旧版本的Pod,则最佳的系统升级方式是旧版本的Pod每停止一个,就同时创建一个新版本的Pod,在整个升级过程中此消彼长,而运行中的Pod数量始终是10个,几分钟以后,当所有的Pod都已经是新版本时,系统升级完成。通过RC机制,Kubernetes很容易就实现了这种高级实用的特性,被称为“滚动升级”(Rolling Update)。

 

Replica Set与RC当前的唯一区别是,Replica Sets支持基于集合的Labelselector(Set-based selector),而RC只支持基于等式的LabelSelector(equality-based selector),这使得Replica Set的功能更强。

 

此外,我们当前很少单独使用Replica Set,它主要被Deployment这个更高层的资源对象所使用,从而形成一整套Pod创建、删除、更新的编排机制。我们在使用Deployment时,无须关心它是如何创建和维护Replica Set的,这一切都是自动发生的。

 

最后总结一下RC(Replica Set)的一些特性与作用。

◎ 在大多数情况下,我们通过定义一个RC实现Pod的创建及副本数量的自动控制。

◎ 在RC里包括完整的Pod定义模板。

◎ RC通过Label Selector机制实现对Pod副本的自动控制。

◎ 通过改变RC里的Pod副本数量,可以实现Pod的扩容或缩容。

◎ 通过改变RC里Pod模板中的镜像版本,可以实现Pod的滚动升级。

 

 

 

你可能感兴趣的:(k8s)