你可以使用 Kubernetes Annotation(注解)为对象附加任意的非标识的元数据自定义信息。
Annotation与Label类似,也使用key/value
键值对的形式进行定义。不同的是Label具有严格的命名规则,Label定义的是Kubernetes对象的元数据(Metadata),并且用于Label Selector(标签选择器)。而Annotation(注解)则是用户任意定义的“附加”信息,便于用户自行的一些查找行为。
注解和标签一样,是键/值对的:
"metadata": {
"annotations": {
"key1" : "value1",
"key2" : "value2"
}
}
说明:
Map 中的键和值必须是字符串。也就是说,你不能使用数字、布尔值、列表或其他类型的键或值。
以下是一些例子,用来说明哪些信息可以使用注解来记录:
- build信息、release信息、Docker镜像信息等,例如时间戳、release id号、PR号、镜像hash值、docker registry地址等。
- 日志库、监控库、分析库等资源库的地址信息。
- 程序调试工具信息,例如工具、版本号等。
- 团队等联系信息,例如电话号码、负责人名称、网址等。
例如,下面是一个 Pod 的配置文件,其注解中包含 imageregistry: https://www.orchome.com/
:
apiVersion: v1
kind: Pod
metadata:
name: annotations-demo
annotations:
imageregistry: "https://www.orchome.com/"
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80