kubernetes:选择器字段在ReplicaSet定义中的作用

时间:2019-05-09 13:35:03

标签: kubernetes replicaset

假设我们有一个ReplicaSet定义文件,如下所示:

apiVersion: apps/v1
kind: ReplicaSet
metadata: 
  name: my-deployment
  labels:
    tier: front-end
spec:
  template:
    metadata: 
      name: my-pod
      labels: 
        tier: front-end
    spec:
      containers:
        - name: my-container-1
          image: redis:latest
  replicas: 3
  selector:
    matchLabels:
      tier: front-end-2

kubernetes如何处理以下事实:根据匹配的标签(即tier:front-endtier:front-end-2,它应该具有两个不同容器的 3 个副本)?

是否应确保例如这两个标记不同的豆荚的总和等于 3 吗?

1 个答案:

答案 0 :(得分:0)

您将收到一个错误消息,表明选择器与容器标签不匹配。这是正确的配置

apiVersion: apps/v1
kind: ReplicaSet
metadata: 
  name: my-deployment
  labels:
    tier: front-end
spec:
  template:
    metadata: 
      name: my-pod
      labels: 
        tier: front-end
    spec:
      containers:
        - name: my-container-1
          image: redis:latest
  replicas: 3
  selector:
    matchLabels:
      tier: front-end

pod spec中的pod标签应与选择器匹配。副本数为3。plicateSet控制器确保三个Pod在集群中的任何时间点运行。它使用选择器和Pod规范中的标签来识别实际运行的Pod,并与所需数量进行匹配