Kubernetes · 3 min read · Dec 08, 2025
Étiquettes et Sélecteurs dans Kubernetes

Les étiquettes ne sont rien d’autre que des paires clé-valeur attribuées aux objets Kubernetes comme les Pods, les Services, etc. Les étiquettes peuvent être utilisées pour organiser et sélectionner des objets Kubernetes. Les étiquettes peuvent être attachées aux objets au moment de leur création et peuvent être modifiées à tout moment. Nous pouvons ajouter plusieurs étiquettes aux objets Kubernetes.
Les sélecteurs sont utilisés par les utilisateurs pour sélectionner un ensemble d’objets. Le sélecteur d’étiquettes est le noyau de la primitive de regroupement dans Kubernetes. L’API Kubernetes prend en charge deux types de sélecteurs :
- Sélecteurs basés sur l’égalité :
Cela permet de filtrer par clé et valeur, où les objets correspondants doivent satisfaire toutes les étiquettes spécifiées. - Sélecteurs basés sur un ensemble :
Cela permet de filtrer les clés selon un ensemble de valeurs.
Pour en savoir plus sur les étiquettes et les sélecteurs, cliquez ici.
Dans cet article, nous allons créer un Pod avec des étiquettes et rediriger les demandes vers celui-ci depuis le service en utilisant un sélecteur. Nous effectuerons également des opérations de récupération et de suppression sur le Pod et le Service en utilisant des étiquettes/sélecteurs en ligne de commande.
Prérequis
- Cluster Kubernetes avec au moins 1 nœud de travail.
Si vous souhaitez apprendre à créer un cluster Kubernetes, cliquez ici. Ce guide vous aidera à créer un cluster Kubernetes avec 1 maître et 2 nœuds sur des instances EC2 AWS Ubuntu 18.04.
Ce que nous allons faire
- Créer un Pod et un Service avec des étiquettes et un sélecteur
- Comprendre les étiquettes
Créer un Pod et un Service avec des étiquettes et des sélecteurs
Pour créer un Pod avec des étiquettes, créez un nouveau fichier et ajoutez le contenu suivant.
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
Pour créer un service avec un sélecteur, créez un fichier avec la définition de service suivante qui utilise l’espace de noms par défaut.
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
Pour créer un Pod, exécutez la commande suivante.
kubectl create -f my-lable-demo-pod.ymlkubectl get pods
Pour créer un Service, exécutez la commande suivante.
kubectl create -f my-selector-demo-service.ymlkubectl get service
Maintenant, pour vérifier si le sélecteur d’étiquettes fonctionne, essayez d’accéder au service sur NodeIP:NodePort.
Ici, l’IP de mon nœud est 106.210.138.189 et le service est exposé sur Port=30385.
Puisque nous pouvons accéder au Pod Nginx en utilisant le Service que nous avons créé, cela signifie que l’étiquette et le sélecteur ont fonctionné.
Comprendre les étiquettes
Maintenant, nous pouvons effectuer diverses opérations sur le Pod et le Service que nous avons créés en utilisant l’étiquette.
Pour obtenir les Pods correspondant à une étiquette de notre choix, nous pouvons utiliser “–selector” dans la commande comme suit.
kubectl get pods --selector environment=testkubectl get pods --selector app=nginx
Nous pouvons également utiliser “-l” au lieu de “–selector” pour obtenir les Pods correspondant à l’étiquette de notre choix.
kubectl get pods -l environment=testkubectl get pods -l environment=prod
Nous pouvons même effectuer l’opération de suppression de pod en spécifiant l’étiquette. Les Pods correspondant à l’étiquette peuvent être supprimés à l’aide des commandes suivantes.
kubectl get podskubectl delete pods -l environment=testkubectl get pods
De la même manière que nous avons pu supprimer des Pods correspondant aux étiquettes, nous pouvons également supprimer le service.
Pour supprimer le service correspondant à une étiquette, utilisez la commande suivante. De plus, s’il n’y a pas de service correspondant à l’étiquette spécifiée dans la commande, aucune opération de suppression ne sera effectuée.
kubectl get servicekubectl delete service -l environemt=testkubectl delete service -l environment=testkubectl get service
Conclusion
Dans cet article, nous avons créé un Pod avec des étiquettes et créé et pointé un service vers ces Pods correspondant à l’étiquette. Nous avons également vu comment les Pods et les Services correspondant aux étiquettes peuvent être supprimés.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.