K8S(八) | Kubernetes 推荐标签

网友投稿 812 2022-10-29

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

K8S(八) | Kubernetes 推荐标签

推荐标签

您可以使用比kubectl和仪表板更多的工具来可视化和管理Kubernetes对象。一组通用的标签允许工具以互操作的方式工作,以所有工具都能理解的通用方式描述对象。

除支持工具外,推荐标签还以可查询的方式描述应用程序。

标签应用程序和应用程序实例例子

元数据围绕应用程序的概念进行组织。Kubernetes不是一个服务平台(PaaS),也没有或强制执行正式的应用程序概念。相反,应用程序是非正式的,并使用元数据进 应用程序包含的内容的定义是松散的。

注意:这些是推荐标签。它们使管理应用程序变得更容易,但对于任何核心工具都不是必需的。

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

标签

为了充分利用这些标签,应将它们应用于每个资源对象。

要说明这些标签的运行情况,请考虑以下StatefulSet对象:

apiVersion: apps/v1kind: StatefulSetmetadata: labels: app.kubernetes.io/name: mysql app.kubernetes.io/instance: wordpress-abcxzy app.kubernetes.io/version: "5.7.21" app.kubernetes.io/component: database app.kubernetes.io/part-of: wordpress app.kubernetes.io/managed-by: helm

应用程序和应用程序实例

应用程序可以一次或多次安装到Kubernetes集群中,在某些情况下,可以安装在同一名称空间中。例如,wordpress可以不止一次安装,其中不同的网站是wordpress的不同安装。

应用程序的名称和实例名称分别记录。例如,在WordPress具有app.kubernetes.io/name的wordpress,同时它有一个实例名,被表示为app.kubernetes.io/instance具有值wordpress-abcxzy。这使得应用程序的应用程序和实例可以识别。应用程序的每个实例都必须具有唯一的名称。

例子

为了说明使用这些标签的不同方式,以下示例具有不同的复杂性。

一种简单的无状态服务

考虑使用Deployment和Service对象部署的简单无状态服务的情况。以下两个代码段表示如何以最简单的形式使用标签。

本Deployment是用来监督运行应用程序本身的豆荚。

apiVersion: apps/v1kind: Deploymentmetadata: labels: app.kubernetes.io/name: myservice app.kubernetes.io/instance: myservice-abcxzy...

将Service用于公开应用程序。

apiVersion: v1kind: Servicemetadata: labels: app.kubernetes.io/name: myservice app.kubernetes.io/instance: myservice-abcxzy...

使用数据库的Web应用程序

考虑一个稍微复杂的应用程序:使用Helm安装的使用数据库(MySQL)的Web应用程序(WordPress)。以下代码段说明了用于部署此应用程序的对象的开始。

以下Deployment内容用于WordPress:

apiVersion: apps/v1kind: Deploymentmetadata: 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...

将Service用于公开WordPress的:

apiVersion: v1kind: Servicemetadata: 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...

MySQL作为一个StatefulSet包含它的元数据和它所属的更大的应用程序公开:

apiVersion: apps/v1kind: StatefulSetmetadata: labels: app.kubernetes.io/name: mysql app.kubernetes.io/instance: wordpress-abcxzy app.kubernetes.io/managed-by: helm app.kubernetes.io/component: database app.kubernetes.io/part-of: wordpress app.kubernetes.io/version: "5.7.21"...

将Service用于公开MySQL作为WordPress的部分:

apiVersion: v1kind: Servicemetadata: labels: app.kubernetes.io/name: mysql app.kubernetes.io/instance: wordpress-abcxzy app.kubernetes.io/managed-by: helm app.kubernetes.io/component: database app.kubernetes.io/part-of: wordpress app.kubernetes.io/version: "5.7.21"...

使用MySQL StatefulSet,Service您会注意到有关MySQL和Wordpress的信息,包括更广泛的应用程序

关注我,每天学习Kubernetes

上一篇:CIFS是由微软开发的,用于连接Windows客户机和服务器
下一篇:NAS设备数据传输协议
相关文章

 发表评论

暂时没有评论,来抢沙发吧~