【笔记】Helm-4 最佳实践-5 标签和注释

标签和注释

最佳实践的这部分讨论关于在chart中使用标签和注释的最佳方式。

是标签还是注释?

在以下条件下,元数据项应该 实时标签:

1、Kubernetes使用它来识别这种资源

2、为了查询系统,暴露给操作员会很有用

比如,我们建议使用helm.sh/chart: NAME-VERSION作为标签,以便 操作员可以找到特定chart的所有实例。

如果元数据项不是用于查询,就应该设置为注释。

Helm钩子都是注释。

标准标签

以下表格定义了Helm chart使用的通用标签。Helm本身从不要求出现特定标签。标记为REC的推荐标签。且应该放置在chart上保持全局一致性。标记为OPT的是可选的。这些是惯用的和常用的,但操作时并不经常依赖。

名称:

状态:

描述:

1、

app.kubernetes.io/name

REC

app名称,反应整个app。{{ template "name" . }} 经常用于此。很多Kubernetes清单会使用这个,但不是Helm指定的。

2、

helm.sh/chart

REC

chart的名称和版本: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} 。

3、

app.kubernetes.io/managed-by

REC

此值应始终设置为 {{ .Release.Service }} 。用来查找被Helm管理的所有内容。

4、

app.kubernetes.io/instance

REC

这个应该是 {{ .Release.Name }} 。有助于在同一应用程序中区分不同的实例。

5、

app.kubernetes.io/version

OPT

app的版本,且被设置为 {{ .Chart.AppVersion }} .

6、

app.kubernetes.io/component

OPT

这是通用标签,用于标记块在应用程序中可能扮演的不同角色。比如app.kubernetes.io/component: frontend 。

7、

app.kubernetes.io/part-of

OPT

当多个chart或块用于构建一个应用程序时。比如,应用软件和数据库生成一个网站。这可以设置为受支持的顶级应用程序。

名称 状态 描述
app.kubernetes.io/name REC app名称,反应整个app。{{ template "name" . }}经常用于此。很多Kubernetes清单会使用这个,但不是Helm指定的。
helm.sh/chart REC chart的名称和版本: {{ .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 app的版本,且被设置为 {{ .Chart.AppVersion }}.
app.kubernetes.io/component OPT 这是通用标签,用于标记块在应用程序中可能扮演的不同角色。比如 app.kubernetes.io/component: frontend
app.kubernetes.io/part-of OPT 当多个chart或块用于构建一个应用程序时。比如,应用软件和数据库生成一个网站。这可以设置为受支持的顶级应用程序。

您可以在 Kubernetes documentation 找到更多app.kubernetes.io作为前缀的Kubernetes标签。

Recommended Labels | Kubernetes

————————————

仅用于本人学习

来源:Helm | Docs

你可能感兴趣的:(Helm,云原生,kubernetes,k8s)