kubernetes:选择器字段在复制集定义中的角色

kubernetes:选择器字段在复制集定义中的角色,kubernetes,replicaset,Kubernetes,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: -

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

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如何处理这样一个事实:就匹配标签而言,它应该有两个不同吊舱的3个副本,即tier:front-end和tier:front-end-2


它是否应该确保这两个不同标签的吊舱的总和等于3?

您将得到一个错误,即选择器与吊舱标签不匹配。这是正确的配置

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

吊舱规格中的吊舱标签应与选择器匹配。副本的数量为3。replicaSet控制器确保集群中的任何时间点都有三个POD在运行。它使用选择器和pod规范中的标签来识别实际运行的pod,并与所需的计数相匹配

,因此在matchLabels和我假设的pod元数据标签下不可能有不同的标签值。。。replicaset需要pod上匹配的标签。这就是它如何知道哪些豆荚是目标。