Kubernetes & Label
Kubernetes & Label
Label(标签)
是Kubernetes
系统中另外一个核心概念。一个Label
是一个key=value
的键值对,其中key与value由用户自己指定。Label可以被附加到各种资源对象上,例如Node、Pod、Service、RC等,一个资源对象可以定义任意数量的Label,同一个Label也可以被添加到任意数量的资源对象上。Label通常在资源对象定义时确定,也可以在对象创建后动态添加或者删除。
我们可以通过给指定的资源对象捆绑一个或多个不同的Label来实现多维度的资源分组管理功能,以便灵活、方便地进行资源分配、调度、配置、部署等管理工作。例如,部署不同版本的应用到不同的环境中;监控和分析应用(日志记录、监控、告警)等。一些常用的Label示例如下。
-
版本标签:"release":"stable"、"release":"canary"。
-
环境标签: “environment":"dev"、"environment":"qa"、"en”
-
架构标签 : tier":"frontend"、"tier":"backend"、"tier":"mid”
-
分区标签 :"partition":"customerA"、"partition":"customerB"。
-
质量管控标签 :"track":"daily"、"track":"weekly"。
Label
相当于我们熟悉的“标签”。给某个资源对象定义一个Label
,就相当于给它打了一个标签,随后可以通过Label Selector
(标签选择器)查询和筛选拥有某些Label
的资源对象,Kubernetes
通过这种方式实现了类似SQL的简单又通用的对象查询机制。
本人博客所有文章,均为原创。部分文章中或引用相关资料,但均已著明来源出处。可随意转载、分享,但需加本文链接,以及版权说明。