资源注解 annotate
注解也是 键值 类型的数据,但是不能用于被标签选择器用于标签和挑选对象,仅仅用于提供 资源元数据接口。
注解中的元数据不受字符限制,键值前缀可以很长,键值和键不能超过63个字符,但是字符可以为结构化或者非结构化的形式(可以是 数组或者数字等 ),也支持使用在标签中,但是禁止使用其他字符。
在新版本中,为一些资源引入新字段时,常用注解的方式提供,防止增删改等困扰,一旦引用到会淘汰相关的注解。
后期的一些pod资源管理软件 可能会使用注解进行pod管理。
查看资源注解
语法:
[root@k8s-master01 ~]# kubectl annotate -h
Usage:
kubectl annotate [--overwrite] (-f FILENAME | TYPE NAME) KEY_1=VAL_1 ... KEY_N=VAL_N [--resource-version=version]
也可以自定义到资源管理里面(metadata内嵌函数中)
[root@k8s-master01 ~]# kubectl explain pods.metadata.annotations
添加annotations
[root@k8s-master01 ~]# cat nginx_pods.yaml
apiVersion: v1
kind: Pod
metadata:
name: pod-demo2
namespace: prod
labels:
rel: stated
version: v11512
status: healthy
annotations:
hanye.com/hanye: hanye
spec:
containers:
- image: nginx
imagePullPolicy: IfNotPresent
name: nginx-2
ports:
- protocol: TCP
containerPort: 80
hostPort: 8089
name: http-nginx1
[root@k8s-master01 ~]# kubectl apply -f nginx_pods.yaml
pod/pod-demo2 created
[root@k8s-master01 ~]# kubectl get pods -n prod
NAME READY STATUS RESTARTS AGE
pod-demo2 1/1 Running 0 4s
[root@k8s-master01 ~]# kubectl describe pods/pod-demo2 -n prod
.
再次apply的时候,发现还是可以再次创建pod,只不过会把你新提交的数据 提交到pod节点上
[root@k8s-master01 ~]# kubectl apply -f nginx_pods.yaml