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
相关推荐
鹤落晴春5 小时前
有状态应用 vs 无状态应用
运维·云原生·k8s
Eminem891 天前
8、k8s nodename和nodeSelector调度pod
k8s
cg.family3 天前
K8s内部pod间的负载均衡原理
k8s
w200512245 天前
Pod管理
linux·服务器·云原生·容器·k8s·podman
国医中兴6 天前
电子病历的时序数据分析:ClickHouse在临床指标监控中的落地
微服务·云原生·容器·kubernetes·k8s
m0_525724727 天前
端到端 GitOps + 金丝雀流程测评报告
云原生·自动化·k8s·devops
tangyal8 天前
kubernetes(k8s)基础理论与集群部署
kubernetes·k8s·部署·node·理论·pod·集群cluster
深念Y8 天前
Makefile vs go run:Go 项目构建方式对比
java·开发语言·golang·k8s·编译·流水线·cicd
智码看视界9 天前
Day59-阿里云ACK实战:生产级K8s集群部署与运维
运维·阿里云·kubernetes·k8s·日志监控·容器运维·阿里云ack
养海绵宝宝的小蜗9 天前
Pod 管理总结
k8s