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
相关推荐
魏杨杨13 小时前
被流量逼出来的架构:从一台服务器到云原生的 17 次蜕变 —— 集群、缓存、MQ、微服务、Docker、K8S 的前世今生
微服务·k8s·负载均衡·ddd·分部署
万里侯16 小时前
Kubernetes成本优化:降低云原生基础设施成本的完整指南
微服务·容器·k8s
万里侯21 小时前
云原生API网关:管理微服务流量的最佳实践
微服务·容器·k8s
万里侯1 天前
云原生数据备份与恢复:保障数据安全的最佳实践
微服务·容器·k8s
万里侯2 天前
Ansible自动化运维实战:从入门到生产级应用
微服务·容器·k8s
万里侯2 天前
Kubernetes网络性能优化:提升集群网络效率
微服务·容器·k8s
万里侯2 天前
技术人的人际关系:建立良好的职业网络
微服务·容器·k8s
万里侯3 天前
云原生安全扫描:保护容器化应用的安全
微服务·容器·k8s
万里侯3 天前
GitOps实战:用Git管理基础设施
微服务·容器·k8s
万里侯4 天前
K8s和我:一人一狗的日常冒险
微服务·容器·k8s