1,Label介绍(标签)
Label以key/value键值对的形式附加到任何对象上,如Pod,Service,Node,RC/RS等。Label可以在创建对象时就附加到对象上,也可以在对象创建后通过API进行额外添加或修改。
功能:Label可以通过给指定的资源对象捆绑一个或多个不同的Label来实现多维度的资源分组管理功能,给某个资源对象定义一个Label,就相当于给它打了一个标签,随后可以通过LabelSelector(标签选择器器)查询和筛选拥有某些Label的资源对象,Service就是通过Label将请求负载到后端pod。
2, 示例
apiVersion: v1
kind: Service
metadata:
name: ng-svc
labels:
name: ng-svc
spec:
ports:
- port: 88
targetPort: 80
protocol: TCP
selector:
# 指定具有app标签,且值为ng-rc 的pod全部纳入本组Service
app: ng-rc
# 通过命令行打标签
kubectl label nodes <nodeName> role=monitor
一些常用的Label示例如下
版本标签:”release”:”stable”,”release”:”canary”…
环境标签:”environment”:”dev”,”environment”:”qa”,”environment”:”oriduction”
架构标签:”tier”:”frontend”,”tier”:”backend”,”tier”:”middleware”
分区标签:”partition”:”customerA”,”partition”:”customerB”…
质量管控标签:”track”:”daily”,”track”:”weekly”