k8s Label 介绍及增删改查

k8s Label 介绍及增删改查

label介绍

大多数情况下,我们创建的pod副本会被调度到集群中的任何一个可用节点上,而不会关心具体会调度到哪个节点。不过某些情况存在一种需求:希望某种pod的副本全部在指定的一个或这一些节点上运行,比如希望将MySQL数据库调度到一个具有SSD磁盘的目标节点上。

这时候我们就需要通过kuberneteslabel(标签)来实现这个功能。

label(标签)是k8s的一个核心概念,一个label是一个key=value的键值对,其中keyvalue都是用户自定义的。label可以添加到各种资源对象上,如NodePodServiceRCDeployment等。label通常在资源对象定义时确定,也可以在对象创建后动态添加和删除,通常给指定的资源对象捆绑一个或多个不同的label来实现多维度的资源分组管理功能,以便灵活、方便的进行资源分配、调度、配置、部署等管理工作。例如:部署不同版本的应用到不同的环境中,以及监控、分析应用(日志记录、监控、告警)等。

  • k8s特色的管理方式,便于分类管理资源对象
  • 一个标签可以对应多个资源,一个资源也可以有多个标签。
  • 一个资源拥有多个标签,可以实现不同维度的管理
  • 一个label是key=value的键值对
常用的label实例如下:
  • 版本标签:release: stablerelease: canary
  • 环境标签:environment: devenvironment: qaenvironment: production
  • 架构标签:tier: frontendtier: backendtier: middleware
  • 分区标签:partition: customerApartition: customerB
  • 质量管控标签:track: dailytrack: weekly

Node上label的增删改查

查看node的标签
[root@k8s-master ~]# kubectl get nodes --show-labels

增加node的标签

增加语法:kubectl label nodes <node-name> <label-name>=<label-value>

[root@k8s-master ~]# kubectl label nodes k8s-node01 zone=north

修改node的标签

在原有增加标签基础上,添加 --overwrite参数

修改语法:kubectl label nodes <node-name> <label-name>=<label-value> --overwrite

注意:修改的时候需要添加--overwrite参数,不然会报错

[root@k8s-master ~]# kubectl label nodes k8s-node01 zone=nginx --overwrite

删除node的标签

删除label,在命令行最后执行label的key-name并于一个减号相连

删除语法:kubectl label nodes <node-name> <label-name>-

[root@k8s-master ~]# kubectl label nodes k8s-node01 zone-

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值