kubectl label

添加、修改或删除资源的标签

语法

kubectl label <resource> <name> <key>=<value> [flags]

参数

参数说明示例级别
--overwrite 覆盖已存在的标签值 kubectl label pod web env=staging --overwrite 常用
-l --selector 按标签选择目标资源 kubectl label pods -l app=web tier=frontend 常用
--all 对该类型所有资源操作 kubectl label pods --all env=dev 进阶
<key>- 删除标签(key 后加减号) kubectl label pod web env- 常用

示例

添加标签

kubectl label pod web-app-6f7b8c9d-k2m4n env=production
为 Pod 添加环境标签

修改标签

kubectl label pod web-app env=staging --overwrite
修改已有标签需要 --overwrite

删除标签

kubectl label pod web-app env-
key 后面加 - 表示删除

批量添加标签

kubectl label nodes worker-1 worker-2 disk=ssd
给多个节点打标签用于调度

给节点打标签

kubectl label node worker-1 node-role.kubernetes.io/gpu=true
配合 nodeSelector 实现定向调度

常见错误

already has a value, and --overwrite is false 标签已存在,加 --overwrite 参数覆盖
invalid label value 标签值只能包含字母数字、-、_、.,最长 63 字符

技巧

相关命令