4.3.1 标签概述

标签是 kubernetes 极具特色的功能之一,它能够附加于 Kubernetes 的任何资源对象之上。简单来说,标签就是“键值”类型的数据,它们可于资源创建时直接指定,也可随时按需添加于活动对象之中,而后即可由标签选择器进行匹配检查从而完成资源挑选。一个对象可拥有不止一个标签,而同一个标签也可以被添加至多个资源之上。

实践中,可以为资源附加多个不同维度的标签以实现灵活的资源分组管理功能,例如,版本标签、环境标签、分层架构标签等,用于交叉标示同一个资源所属的不同版本、环境及架构层级等,如图 4-8 所示。下面是较为常用的标签。

  • 版本标签:"release": "stable", "release": "canary", "release": "beta"
  • 环境标签:"envionmrnt": "dev", "environment": "qa", "environment": "production"
  • 应用标签:"app": "ui", "app": "as", "app": "pc", "app": "sc"
  • 架构层级标签:"tier": "frontend", "tier": "backend", "tier": "cache"
  • 分区标签:"partition": "customerA", "partition": "customerB"
  • 品控级别标签:"track": "daily", "track": “weekly”
多维度标签使用示例
图 1.6.3.1 - 多维度标签使用示例

标签中的键名称通常由键前缀和和键名组成,其中键前缀可选,其格式形如“KEYPREFIX/KEY_NAME”。键名至多只能使用63个字符,可使用字母、数字、连接号(-)、下划线()、点号(.)等字符,并且只能以字母或数字开头。键前缀必须为DNS子域名格式,且不能超过 253 个字符。省略键前缀时,键将被视为用户的私有数据,不过由 Kubernetes 系统组件或第三方组件自动为用户资源添加的键必须使用键前缀,而“kubernetes.io”前缀则预留给 Kubernetes 的核心组件使用。

标签中的键值必须不能多于 63 个字符,它要么为空,要么是以字母或数字开头及结尾,且中间仅使用字母、数字、连接号(-)、下划线(_)或点号(.)等字符的数据。

实践中,建议键名及键值能做到“见名知义”,且尽可能保持简单。

results matching ""

    No results matching ""