label
label是kubernetes中另外一个中的概念
一个label是一个 key - value pair , 如 version = 1.2
这种label属性可以赋给任何的k8s资源对象
1.一个资源可以有多个label
2.多个资源可以有同一个 label
3.label可以在创建资源的时候直接指定
4.label也可以动态的修改或者删除
label其实就是我们常常说的 tag,也可以看成是SQL里边的where,用于查询和筛选拥有特定label的资源对象,方便对对象的成组的调动。
两点:
1.在RC&Service的描述文件中可以定义label selector
2.在deployment ReplicaSet DaemonSet& Job中则可以定义筛选表达式
label selector在k8s中的重要场景:
1.kube-controller进程通过资源对象RC上定义的·label selector来筛选要监控的Pod副本的数量,从而实现Pod副本的数量始终符合预期设定的全自动控制流程。
2.kube-proxy进程通过Service的 label Selector来选择对应的Pod,自动建立起每个service到对应的Pod的请求转发路由表,从而实现Service的只能负载均衡。
3.通过对某些Node定义特定的label,并且在Pod定义文件中使用NodeSelector这种标签调度策略,kube-scheduer进程可以实现对 pod 的定向调度。
网友评论