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
相关推荐
阿乐艾官2 天前
一个完整的创建Pod流程
k8s
j200103223 天前
Prometheus
k8s·prometheus
淡泊if5 天前
K8s 网络排障:从抓包开始,一步步定位诡异“502”
网络·kubernetes·k8s
WAIT_TIME9 天前
RKE2 + KubeSphere 部署方案
k8s·kubesphere·rancher·rke2
稀样10 天前
常见的学习资料网站
k8s·jenkins
老友@11 天前
云计算的统一心智模型
开发语言·ci/cd·docker·云计算·k8s·perl
j200103221 个月前
Gateway—— 高级流量路由
gateway·k8s
西门吹雪分身1 个月前
K8S之Ingress
java·容器·kubernetes·k8s
小义_1 个月前
【Kubernetes】(二)k8s基础
linux·云原生·k8s
小义_1 个月前
【Kubernetes】(一)k8s基础
云原生·k8s