K8s labels 与 annotations 区别

核心区别(一句话)

  • Labels:给 K8s"用来筛选/归类/选择"的标签(会参与 selector)。
  • Annotations:给"系统/插件/人"附加的扩展信息(不用于 selector)。

具体对比

  • 是否可被 selector 使用
  • labels:可以(Service、Deployment、NetworkPolicy 等靠它选 Pod)
  • annotations:不可以(K8s 不支持用 annotation 做 selector)
  • 典型用途
  • labels:应用/版本/环境分组(app=redis、tier=backend、env=prod)
  • annotations:配置与元信息(Ingress 配置、CNI 写入的 Pod IP/网卡信息、Prometheus 抓取开关、变更原因/工单号)
  • 稳定性与管理方式
  • labels:更应保持简短、稳定、规范化(会影响大量对象匹配关系)
  • annotations:可更灵活、可较长、可结构化(甚至 JSON),常被控制器/插件读写

选择建议

  • 需要被"查找/选择/分组"(会进入各种 selector)→ 用 label
  • 只是记录"配置/上下文/扩展信息"(不参与选择)→ 用 annotation
相关推荐
w6100104662 小时前
cka-2026-cri-dockerd
运维·k8s·cka
小Pawn爷13 小时前
k8相关内容架构图
k8s
chushiyunen1 天前
k8s笔记
k8s
不是书本的小明1 天前
300+ ACK 小集群整合至统一共享集群架构与迁移方案
架构·k8s
恼书:-(空寄2 天前
K8s Ingress-Nginx ConfigMap 修正完整指南
k8s
老卢聊运维2 天前
深入理解Pod生命周期:从创建到终止的完整链路
运维·云原生·k8s
恼书:-(空寄4 天前
K8s 网关(Ingress-Nginx/Envoy/云原生网关)20 个高频故障速查手册
云原生·k8s·ingress
w6100104667 天前
CKAD-2026-Secret
运维·k8s·ckad
w6100104667 天前
CKAD-2026-Ingress
运维·k8s·ckad
w6100104667 天前
CKAD-2026-金丝雀部署
linux·运维·服务器·k8s