13518219792

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

创新互联kubernetes教程:Kubernetes注解

注解

你可以使用 Kubernetes 注解为对象附加任意的非标识的元数据。客户端程序(例如工具和库)能够获取这些元数据信息。

为对象附加元数据

你可以使用标签或注解将元数据附加到 Kubernetes 对象。 标签可以用来选择对象和查找满足某些条件的对象集合。 相反,注解不用于标识和选择对象。 注解中的元数据,可以很小,也可以很大,可以是结构化的,也可以是非结构化的,能够包含标签不允许的字符。

注解和标签一样,是键/值对:

"metadata": {
  "annotations": {
    "key1" : "value1",
    "key2" : "value2"
  }
}

Map 中的键和值必须是字符串。 换句话说,你不能使用数字、布尔值、列表或其他类型的键或值。

以下是一些例子,用来说明哪些信息可以使用注解来记录:

你可以将这类信息存储在外部数据库或目录中而不使用注解, 但这样做就使得开发人员很难生成用于部署、管理、自检的客户端共享库和工具。

语法和字符集

注解(Annotations) 存储的形式是键/值对。有效的注解键分为两部分: 可选的前缀和名称,以斜杠(​/​)分隔。 名称段是必需项,并且必须在63个字符以内,以字母数字字符(​[a-z0-9A-Z]​)开头和结尾, 并允许使用破折号(​-​),下划线(​_​),点(​.​)和字母数字。 前缀是可选的。如果指定,则前缀必须是DNS子域:一系列由点(​.​)分隔的DNS标签, 总计不超过253个字符,后跟斜杠(​/​)。 如果省略前缀,则假定注解键对用户是私有的。 由系统组件添加的注解 (例如,​kube-scheduler​,​kube-controller-manager​,​kube-apiserver​,​kubectl​ 或其他第三方组件),必须为终端用户添加注解前缀。

kubernetes.io/​ 和 ​K8S.io/​ 前缀是为Kubernetes核心组件保留的。

例如,下面是一个 Pod 的配置文件,其注解中包含 ​imageregistry: https://hub.docker.com/​:

apiVersion: v1
kind: Pod
metadata:
  name: annotations-demo
  annotations:
    imageregistry: "https://hub.docker.com/"
spec:
  containers:
  - name: nginx
    image: nginx:1.7.9
    ports:
    - containerPort: 80

本文标题:创新互联kubernetes教程:Kubernetes注解
网页链接:http://cdbrznjsb.com/article/ccegdcc.html

其他资讯

让你的专属顾问为你服务