小编Eks*_*psy的帖子

为什么我必须多次显式定义标签?

为什么需要多次定义部署的标签?为了快速解释我的问题,我举一个例子。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: app
# 1st Time
  labels:
    app: app
    tier: backend
spec:
  selector:
# 2nd Time
    matchLabels:
      app: app
      tier: backend
  template:
    metadata:
# 3rd time
      labels:
        app: app
        tier: backend
Run Code Online (Sandbox Code Playgroud)

我的第一个问题是我真的找不到任何spec.selector.matchlabels存在的充分理由。spec.selector.matchlabels 一定要匹配 spec.template.metadata.labels对吗?

描述:

Pod 的标签选择器。由此选择的 pod 的现有 ReplicaSet 将受到此部署的影响。它必须与 Pod 模板的标签匹配。

那么,如果它们应该固定为 kubernetes 知道的特定值,并且如果其中一个与另一个不匹配,无论如何都会抛出错误,那么为什么必须明确定义它们呢?


我的第二个问题可能有更合理的答案,那就是为什么必须明确定义部署的标签和模板的标签?它们不应该也相互匹配吗?或者是否存在它们可能不匹配的情况?我只是错误地使用它们吗?没有关于它们针对模板标签的使用的明确文档。:/

如果我可能做错或理解错误,请指出!:D

kubernetes

2
推荐指数
1
解决办法
2582
查看次数

标签 统计

kubernetes ×1