K8S推荐使用的标签及Helm常用的标签

Kubernetes推荐的标签

除了 kubectl 和 dashboard 之外,您可以使用其他工具来可视化和管理 Kubernetes 对象。一组通用的标签可以让多个工具之间相互操作,用所有工具都能理解的通用方式描述对象除了支持工具外,推荐的标签还以一种可以查询的方式描述了应用程序

共享标签和注解都使用同一个前缀:app.kubernetes.io,没有前缀的标签是用户私有的,共享前缀可以确保共享标签不会干扰用户自定义的标签。


app.kubernetes.io/name          应用名称的名字
app.kubernetes.io/instance      用于唯一确定应用实例的名称(不是很理解)
app.kubernetes.io/version       应用程序的当前版本
app.kubernetes.io/component     架构中得组件
app.kubernetes.io/part-of       此级别的更高级别应用程序的名称
app.kubernetes.io/managed-by    用于管理应用程雪的工具
app.kubernetes.io/created-by    创建该资源的控制器或者用户

案例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10

labels:
    - app.kubernetes.io/name: mysql
    - app.kubernetes.io/instance: mysql-abcxzy
    - app.kubernetes.io/version: 5.7.21
    - app.kubernetes.io/componnet: database
    - app.kubernetes.io/part-of: wordpress
    - app.kubernetes.io/managed-by: helm
    - app.kubernetes.io/created-by: controller-manager

helm启动的程序的:

1
2
3
4
5
6
7
8

labels:
    - app.kubernetes.io/name: anvil
    - app.kubernetes.io/instance: anvil-1641889555
    - app.kubernetes.io/version: 9.17.49
    - app.kubernetes.io/managed-by: Helm
    - helm.sh/chart: anvil-0.1.0

Helm通用标签

以下定义了Helm Chart使用的通用标签:


app.kubernetes.io/name
app.kubernetes.io/managed-by
app.kubernetes.io/version
app.kubernetes.io/instance
app.kubernetes.io/component
app.kubernetes.io/part-of

helm.sh/chart               # chart的名称和版本{{ .Chart.Name }}--{{Chart.Version | replace "+" "_"}}