annotations 和 label 有什么区别呢?

来源:1-7 安装dashboard和heapster并验证集群安装结果

Edwin_00000

2018-12-06

白老师 你好,

请问一下, annotations 和 label 有什么区别呢?
label我明白是用来做selector 选择应用的, 但是annotations看起来差不多, 不是很明白annotations有什么用.

Thanks in advance

写回答

1回答

tonybai

2018-12-06

label你也知道是用于识别、匹配选择不同对象的。k8s集群自身care 所有对象的label。是k8s集群运行的所必须的对象属性。
annotations并不被k8s集群内部使用和care,但是将annotations附着在object上肯定也是有用的,这些annotations会被外部的工具或库所使用。

以下面这个istio-pilot pod为例:

kubectl get pods/istio-pilot-6f8d49d4c4-ldsmx -o yaml -n istio-system
apiVersion: v1
kind: Pod
metadata:
  annotations:
    sidecar.istio.io/inject: "false"
  creationTimestamp: 2018-10-28T05:20:16Z
  generateName: istio-pilot-6f8d49d4c4-
  labels:
    app: pilot
    istio: pilot

… …

这里的annotations:

    sidecar.istio.io/inject: "false"

k8s并不关心,也不会使用。但这个annotations会被istioctl这个外部工具所使用,istioctl会根据sidecar.istio.io/inject的值来判断是否给该pod 插入边车。这里为false,那么就不插入sidecar
container。

0
1
Edwin_00000
谢谢白老师, 你讲得很容易理解.
2018-12-07
共1条回复

Kubernetes实战 高可用集群搭建,配置,运维与应用

以生产为目标,原理+操作, Kubernetes结合典型云原生应用

794 学习 · 196 问题

查看课程