Kubernetes - 副本集

副本集确保应该运行多少个 pod 副本。 它可以被认为是复制控制器的替代品。 副本集和复制控制器的主要区别在于,复制控制器只支持基于相等的选择器,而副本集支持基于集合的选择器。

apiVersion: extensions/v1beta1 --------------------->1
kind: ReplicaSet --------------------------> 2
metadata:
   name: Tomcat-ReplicaSet
spec:
   replicas: 3
   selector:
      matchLables:
         tier: Backend ------------------> 3
      matchExpression:
{ key: tier, operation: In, values: [Backend]} --------------> 4
template:
   metadata:
      lables:
         app: Tomcat-ReplicaSet
         tier: Backend
      labels:
         app: App
         component: neo4j
   spec:
      containers:
      - name: Tomcat
      image: tomcat: 8.0
      ports:
      - containerPort: 7474

设置详情

  • apiVersion: extensions/v1beta1 → 上述代码中,API版本是Kubernetes的高级beta版本,支持副本集的概念。

  • kind: ReplicaSet → 我们将 kind 定义为副本集,这有助于 kubectl 理解该文件用于创建副本集。

  • tier: Backend → 我们已将标签层定义为创建匹配选择器的后端。

  • {key: tier, operation: In, values: [Backend]} → 这将有助于 matchExpression 了解我们定义的匹配条件以及 matchlabel 用于查找详细信息的操作。

使用 kubectl 运行上述文件,并使用 yaml 文件中提供的定义创建后端副本集。

Kube 服务后端副本集