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:后端→ 我们将标签层定义为后端,它创建一个匹配的选择器。

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

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

Kube 服务后端复制集