您好,我一直在学习 Kubernetes,但在 YAML 文件中我发现 k8s-app 作为标签,但在寻找答案时我确实没有找到准确的答案。如果有人有 k8s-app 在 YAML 文件中代表什么的帮助,请帮忙。
它不代表任何东西;这只是一个旧的约定,已被新的app.kubernetes.io/
术语所取代
旧样式可能被新的“命名空间”样式所取代,以允许用户拥有自己的k8s-app:
或instance:
其他“通用”名称,而不会与部署控制器用于管理 Pod 生命周期的标签发生冲突
tl;dr = 文本是什么并不重要,重要的是文本在引用它的多个位置匹配,因为这些标签是几个移动部分之间的合同
基本上,标签是我们可以赋予 k8s 对象的键/值对。通过使用标签,我们可以识别对象的属性,也可以通过选择器选择这些对象。例如:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
Run Code Online (Sandbox Code Playgroud)
另一方面,您基本上可以在标签中设置 6 个字段,字段是:
apiVersion:
kind:
metadata:
labels:
app.kubernetes.io/name:
app.kubernetes.io/instance:
app.kubernetes.io/version:
app.kubernetes.io/managed-by:
app.kubernetes.io/component:
app.kubernetes.io/part-of:
Run Code Online (Sandbox Code Playgroud)
每个对象都应该有一个唯一的名称,用 表示,app.kubernetes.io/name
它还可以有一个instance
标签, a version
, a who manages the object
, a component type
,并且一个part of what
对象是。这些标签以前用过,但现在不常用了。
从 k8s 官方文档来看,以下 Deployment 用于 WordPress:
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app.kubernetes.io/name: wordpress
app.kubernetes.io/instance: wordpress-abcxzy
app.kubernetes.io/version: "4.9.4"
app.kubernetes.io/managed-by: helm
app.kubernetes.io/component: server
app.kubernetes.io/part-of: wordpress
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4188 次 |
最近记录: |