ReplicaSet是什么意思

这篇文章给大家介绍ReplicaSet是什么意思,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

创新互联是一家专业提供东港企业网站建设,专注与成都网站制作、成都网站建设、外贸营销网站建设H5响应式网站、小程序制作等业务。10年已为东港众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。

ReplicaSetReplicationController类似,它也用于管理一类Pod对象,保证Pod副本数量始终维持在期望值。

ReplicaSet配置

一个简单的ReplicaSet配置如下所示:

apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: replicaset-runs-pod
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
        - name: nginx
          image: nginx:1.19.0

ReplicaSet配置确保集群中始终运行3个拥有app: nginx标签的Pod副本,如果副本数量不足3个,则使用Pod模版spec.template创建Pod,如果副本数量多于3个,则删除多余的副本。

ReplicaSet配置中最核心的三个要素如下:

  • spec.selector用于查找集群中存在的Pod;

  • spec.replicas用于指定期望的Pod副本数;

  • spec.template用于指定Pod模版,当副本数不足时将使用该模版创建新的Pod。

ReplicaSet与ReplicationController的区别

ReplicationControllerReplicaSet都属于Pod控制器,其设计初衷几乎完全相同,都是确保指定类型的Pod副本数维持在期望值,ReplicationController出现时间比ReplicaSet要早,那么为什么已经有了ReplicationController的情况下,还要再设计一个ReplicaSet呢?二者到底有什么区别呢?

二者的主要区别在于标签选择器,ReplicaSet拥有更先进的标签选择器,ReplicationController只支持旧式的标签选择器,而ReplicaSet不仅支持旧式选择器,还支持新式选择器。

ReplicationController支持的选择器称为Equality-based选择器,即基于等值的选择器:

Selector map[string]string

ReplicaSet不仅支持Equality-based选择器,还支持Set-based选择器,即基于集合的选择器:

type LabelSelector struct {
	MatchLabels map[string]string
	MatchExpressions []LabelSelectorRequirement
}

ReplicationController特性演进到V1时还没有支持Set-based选择器,而Kubernetes又希望推出一款支持Set-based选择器的Pod控制器,为了不破坏API兼容性,不得已才推出了ReplicaSet控制器来替代ReplicationController

关于ReplicaSet是什么意思就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


当前文章:ReplicaSet是什么意思
链接分享:http://pwwzsj.com/article/psiipe.html