标签和注释
本部分最佳实践指南讨论了在图表中使用标签和注释的最佳实践。
是标签还是注释?
元数据的项目应在以下情况下为标签
- 它被 Kubernetes 用于识别此资源
- 它对操作人员查询系统很有用。
例如,我们建议使用 helm.sh/chart: NAME-VERSION
作为标签,以便操作人员可以方便地找到特定图表的全部实例以供使用。
如果元数据的项目不用于查询,则应将其设置为注释。
Helm 钩子始终为注释。
标准标签
下表定义了 Helm 图表常用的常见标签。Helm 本身并不要求存在特定标签。标记为 REC 的标签是推荐的,并且 *应该* 被放置到图表中以实现全局一致性。标记为 OPT 的标签是可选的。这些是惯用法或常用的,但在操作目的方面并不经常依赖。
名称 | 状态 | 描述 |
---|---|---|
app.kubernetes.io/name | REC | 这应该是应用程序名称,反映整个应用程序。通常 {{ template "name" . }} 用于此。这被许多 Kubernetes 清单使用,并且不是 Helm 特定的。 |
helm.sh/chart | REC | 这应该是图表名称和版本: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} 。 |
app.kubernetes.io/managed-by | REC | 这应该始终设置为 {{ .Release.Service }} 。它是用于查找所有由 Helm 管理的内容。 |
app.kubernetes.io/instance | REC | 这应该是 {{ .Release.Name }} 。它有助于区分同一应用程序的不同实例。 |
app.kubernetes.io/version | OPT | 应用程序的版本,可以设置为 {{ .Chart.AppVersion }} 。 |
app.kubernetes.io/component | OPT | 这是一个常见的标签,用于标记部分可能在应用程序中扮演的不同角色。例如,app.kubernetes.io/component: frontend 。 |
app.kubernetes.io/part-of | OPT | 当多个图表或软件部分一起使用以构成一个应用程序时。例如,应用程序软件和数据库以生成网站。这可以设置为被支持的顶层应用程序。 |
您可以在 Kubernetes 文档 中找到更多关于以 app.kubernetes.io
为前缀的 Kubernetes 标签的信息。