Kubernetes - 标签和选择器


标签

标签是附加到 Pod、复制控制器和服务的键值对。它们用作 Pod 和复制控制器等对象的标识属性。它们可以在创建时添加到对象中,也可以在运行时添加或修改。

选择器

标签不提供唯一性。一般来说,我们可以说许多对象可以带有相同的标签。标签选择器是 Kubernetes 中的核心分组原语。用户使用它们来选择一组对象。

Kubernetes API 目前支持两种类型的选择器 -

  • 基于平等的选择器
  • 基于集合的选择器

基于平等的选择器

它们允许按键和值进行过滤。匹配对象应满足所有指定的标签。

基于集合的选择器

基于集合的选择器允许根据一组值过滤键。

apiVersion: v1
kind: Service
metadata:
   name: sp-neo4j-standalone
spec:
   ports:
      - port: 7474
      name: neo4j
   type: NodePort
   selector:
      app: salesplatform ---------> 1
      component: neo4j -----------> 2

在上面的代码中,我们使用标签选择器作为app: salesplatform,使用组件作为component: neo4j

一旦我们使用kubectl命令运行该文件,它将创建一个名为sp-neo4j-standalone 的服务,该服务将在端口 7474 上进行通信。类型为NodePort,新标签选择器为app: salesplatformcomponent: neo4j