【问题标题】:what k8s-app label represent ? and how to use it?k8s-app 标签代表什么?以及如何使用它?
【发布时间】:2021-05-25 20:07:45
【问题描述】:

您好,我一直在学习 Kubernetes,但是在 YAML 文件中,我发现 k8s-app 作为标签,但是在寻找答案时,我真的没有找到准确的答案。 如果有人知道 YAML 文件帮助中的 k8s-app 代表什么。

【问题讨论】:

    标签: kubernetes yaml


    【解决方案1】:

    它不代表任何东西;这只是一个较旧的约定,已被 new app.kubernetes.io/ nomenclature 取代

    旧样式很可能被新的“命名空间”样式所取代,以允许用户拥有自己的 k8s-app:instance: 或其他“通用”名称,而不会与部署控制器用于管理的标签发生冲突Pod 生命周期

    tl;dr = 文本是什么并不重要,重要的是文本在引用它的多个位置匹配,因为这些标签是几个移动部分之间的合同

    【讨论】:

      【解决方案2】:

      基本上,标签是我们可以赋予 k8s 对象的键/值对。通过使用标签,我们可以识别对象的属性,也可以通过选择器选择这些对象。例如:

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: nginx-deployment
        labels:
          app: nginx
      

      另一方面,您基本上可以在标签中设置 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:
      

      每个对象都应该有一个由app.kubernetes.io/name表示的唯一名称,它还可以有一个instance标签、一个version、一个who manages the object、一个component type和一个part of what对象.这些标签以前用过,现在不常用了。

      来自k8s官方doc,WordPress使用如下Deployment:

      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
      

      【讨论】:

      • 哦,好的,非常感谢您的回答,非常详细:)
      猜你喜欢
      • 2013-11-07
      • 1970-01-01
      • 1970-01-01
      • 2015-02-17
      • 1970-01-01
      • 1970-01-01
      • 2022-01-10
      • 2010-10-17
      • 2015-03-13
      相关资源
      最近更新 更多