使用Kubernetes对象5---注解(Annotions)

你可以使用Kubernetes注解来附加任何未标识的元数据(metadata)到对象上。工具和类库等客户端可以检索这些元数据。

附加元数据到对象上

你可以使用label或者annotion来附加元数据到Kubernetes对象上。label可以用来通过条件选择对象和发现对象集合。相反,annotion并不用来标识和选择对象。annotion中的元数据可大可小,可结构化或非结构化,可以包括label不允许的字符。

annotion和label一样,是键值映射:

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

下面是一些可以记录在annotion中的信息:

  • 声明式配置层所管理的字段。将这些字段作为注解附加以区分它们,由服务端或客户端所设置的默认值、自动生成的字段、自动大小调整或自动扩容系统所设置的字段。
  • 构建、发布或镜像信息如 时间戳, 发布IDs, git分支, PR numbers, 镜像哈希, 和注册地址。
  • 日志、监控、分析或审计仓库的指针.
  • 用来进行调试客户端类库或工具信息:如,名称、版本和构建信息。
  • 用户或工具/系统来源信息,比如来自其他生态系统组件的相关对象的URL。
  • 轻量级展示工具元数据:如,配置或者检查点。
  • 负责人的电话号码或传呼机号码,信息所在地的目录记录,比如团队网站。
  • 终端用户的编辑行为或实现非标准功能的指令。

代替使用annotion,你可以存储这些信息到一个外部数据库或目录。但这回导致生产共享客户端类库和工具在部署、管理、返工之类的步骤都变得很困难。

语法(Syntax) 和字符集( character set)

annotion就是键值对。合法的建由两个部分组成:可选前缀和名称,由斜杠 (/) 分隔。名称部分是必须的,由少于63个字符组成,开头和结尾为数字或字母 ([a-z0-9A-Z]),中间包含横杠(-)、下划线(_)、点(.)和数字或字母。前缀是可选的。如果有规定,前缀必须是一个DNS的子域:一个系列的DNS labels由点(.)分隔,不长于253个字符,后跟一个斜杠(/)。

如果前缀被忽略,label的键被假定是用户私有的。向终端用户对象添加标签的自动化系统组件(components)(如kube-schedulerkube-controller-managerkube-apiserverkubectl或其他第三方自动化)必须指定一个标签。

kubernetes.io/ 和 k8s.io/ 前缀为Kubernetes核心组件预留。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值