matchLabels
**在 Kubernetes 中,matchLabels 中的多个 key: value 条件必须 全部满足(即 逻辑与 AND)才能匹配资源。
举个例子:
1 | selector: |
这个 selector 会选中具有以下标签的 Pod 或其他资源:
1 | metadata: |
如果某个 Pod 缺少其中任何一个标签(比如只有 app: nginx 没有 tier: frontend),就不会被选中。
小结:
matchLabels是一个 key-value map,所有的键值对都必须匹配(逻辑 AND)。- 想要更复杂的匹配逻辑(如 OR、NOT),可以使用
matchExpressions。
如需实现更灵活的选择条件,可以这样写:
1 | selector: |
这个例子表示:
app是nginx或httpd- 并且
tier不是backend