Kubernetes: etiquetas y selectores

Etiquetas

Las etiquetas son pares clave-valor que se adjuntan a los pods, el controlador de replicación y los servicios. Se utilizan como atributos de identificación para objetos como pods y controlador de replicación. Se pueden agregar a un objeto en el momento de la creación y se pueden agregar o modificar en el momento de la ejecución.

Selectores

Las etiquetas no proporcionan unicidad. En general, podemos decir que muchos objetos pueden llevar las mismas etiquetas. El selector de etiquetas es un elemento básico de agrupación en Kubernetes. Los usuarios los utilizan para seleccionar un conjunto de objetos.

La API de Kubernetes admite actualmente dos tipos de selectores:

  • Selectores basados ​​en la igualdad
  • Selectores basados ​​en conjuntos

Selectores basados ​​en la igualdad

Permiten filtrar por clave y valor. Los objetos coincidentes deben satisfacer todas las etiquetas especificadas.

Selectores basados ​​en conjuntos

Los selectores basados ​​en conjuntos permiten el filtrado de claves según un conjunto de valores.

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

En el código anterior, estamos usando el selector de etiquetas como app: salesplatform y componente como component: neo4j.

Una vez que ejecutamos el archivo usando el kubectl comando, creará un servicio con el nombre sp-neo4j-standalone que se comunicará en el puerto 7474. El ype es NodePort con el nuevo selector de etiquetas como app: salesplatform y component: neo4j.