Kubernetes · 3 min read · Dec 08, 2025
Etiquetas y Selectores en Kubernetes

Las etiquetas no son más que pares clave-valor asignados a Objetos de Kubernetes como Pods, Servicios, etc. Las etiquetas se pueden usar para organizar y seleccionar objetos de Kubernetes. Las etiquetas se pueden adjuntar a los objetos en el momento de la creación y se pueden modificar en cualquier momento. Podemos agregar múltiples etiquetas a los objetos de Kubernetes.
Los selectores son utilizados por los usuarios para seleccionar un conjunto de objetos. El selector de etiquetas es el núcleo del agrupamiento en Kubernetes. La API de Kubernetes admite dos tipos de selectores:
- Selectores basados en igualdad:
Esto permite filtrar por clave y valor, donde los objetos coincidentes deben satisfacer todas las etiquetas especificadas. - Selectores basados en conjuntos:
Esto permite filtrar claves de acuerdo con un conjunto de valores.
Para saber más sobre Etiquetas y Selectores, haz clic aquí.
En este artículo, crearemos un Pod con etiquetas y redirigiremos las solicitudes a él desde el servicio utilizando un selector. También realizaremos operaciones de obtención y eliminación en Pod y Servicio utilizando Etiquetas/Selectores en la línea de comandos.
Requisitos previos
- Clúster de Kubernetes con al menos 1 nodo trabajador.
Si deseas aprender a crear un Clúster de Kubernetes, haz clic aquí. Esta guía te ayudará a crear un clúster de Kubernetes con 1 Maestro y 2 Nodos en Instancias EC2 de AWS Ubuntu 18l04.
Lo que haremos
- Crear un Pod y un Servicio con Etiquetas y Selector
- Entender Etiquetas
Crear un Pod y Servicio con Etiquetas y Selectores
Para crear un Pod con etiquetas, crea un nuevo archivo y agrega el siguiente contenido en él.
vim my-lable-demo-pod.ymlapiVersion: v1
kind: Pod
metadata:
name: label-demo-pod
labels:
environment: test
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
Para crear un servicio con un selector, crea un archivo con la siguiente definición de servicio que utiliza el espacio de nombres predeterminado.
vim my-selector-demo-service.ymlapiVersion: v1
kind: Service
metadata:
name: selector-demo-service
namespace: default
labels:
environment: test
app: nginx
spec:
externalTrafficPolicy: Local
ports:
- name: http
port: 80
protocol: TCP
targetPort: 80
selector:
app: nginx
type: NodePort
Para crear un Pod, ejecuta el siguiente comando.
kubectl create -f my-lable-demo-pod.ymlkubectl get pods
Para crear un Servicio, ejecuta el siguiente comando.
kubectl create -f my-selector-demo-service.ymlkubectl get service
Ahora, para verificar si el Selector de Etiquetas está funcionando, intenta acceder al servicio en NodeIP:NodePort.
Aquí, la IP de mi Nodo es 106.210.138.189 y el servicio está expuesto en Port=30385.
Dado que podemos acceder al Pod de Nginx utilizando el Servicio que creamos, significa que la Etiqueta y el Selector funcionaron.
Entender Etiquetas
Ahora, podemos realizar varias operaciones en el Pod y el Servicio que creamos utilizando la Etiqueta.
Para obtener Pods que coincidan con una etiqueta de nuestra elección, podemos usar “–selector” en el comando de la siguiente manera.
kubectl get pods --selector environment=testkubectl get pods --selector app=nginx
También podemos usar “-l” en lugar de “–selector” para obtener los Pods que coincidan con la etiqueta de nuestra elección.
kubectl get pods -l environment=testkubectl get pods -l environment=prod
Incluso podemos realizar la operación de eliminación de pod especificando la etiqueta. Los Pods que coincidan con la etiqueta se pueden eliminar utilizando los siguientes comandos.
kubectl get podskubectl delete pods -l environment=testkubectl get pods
De la misma manera que pudimos eliminar Pods que coinciden con las etiquetas, también podemos eliminar el servicio.
Para eliminar el servicio que coincide con una etiqueta, usa el siguiente comando. Además, si no hay ningún servicio que coincida con la etiqueta especificada en el comando, no se realizará ninguna operación de eliminación.
kubectl get servicekubectl delete service -l environemt=testkubectl delete service -l environment=testkubectl get service
Conclusión
En este artículo, creamos un Pod con etiquetas en él y creamos y apuntamos un servicio a esos Pods que coinciden con la etiqueta. También vimos cómo se pueden eliminar Pods y Servicios que coinciden con las etiquetas.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.