5.2.1 ReplicaSet 概述

ReplicaSet(简称 RS)是Pod控制器类型的一种实现,用于确保由其管控的 Pod 对象副本数在任意时间都能精确满足期望的数量。如图 5-4 所示,ReplicaSet 控制器资源启动后会查找集群中匹配其标签选择器的 Pod 资源对象,当前活动对象的数量与期望的数量不吻合时,多则删除,少则通过 Pod 模版创建以补足,等 Pod 资源副本数量符合期望值后即进入下一轮和解循环。

ReplicaSet 的控制循环
图 1.7.2.1 - ReplicaSet 的控制循环

ReplicaSet 的副本数量、标签选择器甚至是 Pod 模版都可以随时按需进行修改,不过仅改动期望的副本数量会对现存的 Pod 副本产生直接影响。修改标签选择器可能会使得现有的 Pod 副本的标签变得不再匹配,此时 ReplicaSet 控制器要做的不过是不再计入它们而已。另外,创建完成后,ReplicaSet 也不会再关注 Pod 对象中的实际内容,因此 Pod 模版的改动也只会对后来新建的 Pod 副本产生影响。

相比较与手动创建和管理Pod资源来说,ReplicaSet能够实现以下功能:

  • 确保 Pod 资源对象的数量精确反映期望值:ReplicaSet 需要确保由其控制运行的 Pod 副本数量精确吻合配置定义的期望值,否则就会自动补充所缺或终止所余。
  • 确保 Pod 健康运行:探测到由其管控的 Pod 对象因其所在的工作节点故障而不可用时,自动请求由调度器于其他工作节点创建缺失的 Pod 脚本。
  • 弹性伸缩:业务规模因各种原因时常存在明显波动,在波峰或波谷期间,可以通过 ReplicaSet 控制器动态调整相关 Pod 资源对象数量。此外,在必要时还可以通过HPA(HroizontalPodAutoscaler)控制器实现 Pod 资源规模的自动伸缩。

results matching ""

    No results matching ""