Kubernetes Replica Set
由于Replication Controller与Kubernetes代码中的模块Replication Controller同名,同时这个词也无法准确表述它的本意,所以在Kubernetes1.2
时,它就升级成另一个新的概念---Replica Set,官方解释为"下一代的RC"
它与RC当前存在的唯一区别是:Replica Sets支持基于集合的Label selector(Set-based selector基于集合的标签选择器),而RC只支持基于等式的Label Selector(equality-based selector基于等式),这使得Replica Set的功能更强
matchExpressions 是一个pod的选择器条件的list 。
selector:
matchLabels:
tier: frontend
matchExpressions:
- {key: tier, operator: In, values: [frontend]}
kubectl命令行工具适用于RC的绝大部分命令都同样适用于Replica Set,当前我们很少的单独是哦那个Replica Set,它主要被Deployment这个更高层的资源对象所使用,从而形成一整套Pod创建、删除、更新的编排机制。当我们使用Deployment时,无须关心它是如何创建和维护Replica Set的,这一切都是自动发生的。
RC(Replica Set)功能
1.在大多数情况下,我们定义一个RC实现Pod的创建过程及副本数量的自动控制
2.RC里包括完整的Pod定义模板
3.RC通过Label Selector机制实现对Pod副本的自动控制。
4.通过改变RC里的Pod副本数量,可以实现Pod的扩容或缩容功能
5.通过改变RC里的Pod目标中的镜像版本,可以实现Pod的滚动升级功能