k8s_label &annotation(基础)的零散笔记
Label键值KEY_REFIX/KEY_NAME : KEY_VALUE选择器: = ,==, !=,基于集合的key in (…) ,key notin (…), key: , !key:一些资源类型的spec字段中嵌套使用selector通过matchLabels 指定选择器matchExpressions使用apply命令如遇到下错误,需要删除原有podThe ...
·
Label
- 键值
- KEY_REFIX/KEY_NAME : KEY_VALUE
- 选择器: = ,==, != ,基于集合的 key in (…) ,key notin (…), key: , !key:
- 一些资源类型的spec字段中嵌套使用selector
通过matchLabels 指定选择器
matchExpressions
使用apply命令如遇到下错误,需要删除原有pod
The Pod "pod-demo" is invalid: spec.containers: Forbidden: pod updates may not add or remove containers
新增label
kubectl apply 或者使用kubectl label 命令都可以
修改label
[root@test basic]# kubectl label pods pod-demo app=mm
error: 'app' already has a value (pod-deo), and --overwrite is false 修改失败,请使用--overwrite选项
[root@test basic]# kubectl label pods pod-demo app=mm --overwrite
pod/pod-demo labeled 修改完成
删除label
不能通过删除yaml中的标签键值来处理
[root@test basic]# kubectl get pods --show-labels
NAME READY STATUS RESTARTS AGE LABELS
pod-demo 1/1 Running 0 5m22s app=pod-deo,rel=stable,se=wang,tire=111
[root@test basic]# cat pod-demo-3.yaml
apiVersion: v1
kind: Pod
metadata:
name: pod-demo
namespace: default
labels:
app: pod-deo
rel: stable
se: wang 备注:此处仅有三个标签
spec:
containers:
- name: ngx
image: nginx:latest
imagePullPolicy: IfNotPresent
[root@test basic]# kubectl apply -f pod-demo-3.yaml
pod/pod-demo unchanged 结果显示pod没有任何调整
如果需要删除指定标签,请在键名后面加上- 减号
[root@test basic]# kubectl label pods pod-demo app-
pod/pod-demo labeled
使用标签进行查询
支持使用转义字符,请使用单引号
[root@test basic]# kubectl get pod --show-labels -l 'se'
NAME READY STATUS RESTARTS AGE LABELS
pod-demo 1/1 Running 0 21m rel=stable,se=wang,tire=111
[root@test ~]# kubectl get pods -l ' se in ( wang )'
NAME READY STATUS RESTARTS AGE
pod-demo 1/1 Running 0 130m
annotation
- 键值型数据,资源注解,不受字符数量限制
- 不能被标签选择器选择
- 常用命令 kubectl annotate
- 定义在metadata内嵌字段中
- . 使用describe查看
- 用途 记录每次apply的差异信息
更多推荐
已为社区贡献13条内容
所有评论(0)