Label selectors are used to identify a group of objects.
Types of selectors
a. Equality Based Selector: =, !=
b. Set-Based Selector: IN, NONIN, EXISTS
selectors.yml
apiVersion: v1
kind: Pod
metadata:
name: user-management-service
labels:
env: dev
author: Krishna
application_type: service
team: Marketting
release-version: "1.23"
spec:
containers:
- name: user-management-service
image: jboss/wildfly
---
apiVersion: v1
kind: Pod
metadata:
name: domain-managemet-service
labels:
env: dev
author: chamu
application_type: service
team: HR
release-version: "1.25"
spec:
containers:
- name: domain-management-service
image: jboss/wildfly
---
apiVersion: v1
kind: Pod
metadata:
name: content-management-service
labels:
env: prod
author: krishna
application_type: service
team: Finance
release-version: "7.5"
spec:
containers:
- name: content-management-service
image: jboss/wildfly
Step 1: Create a resource from a file ‘selectors.yml’ by executing the below command.
$kubectl create -f selectors.yml
pod/user-management-service created
pod/domain-managemet-service created
pod/content-management-service created
= and != operator
a. Get all the prods where the environment is prod
kubectl get pods --selector env=prod
$kubectl get pods --selector env=prod
NAME READY STATUS RESTARTS AGE
content-management-service 1/1 Running 0 80s
b. Get all the prods where the environment is not prod
kubectl get pods --selector env!=prod
$kubectl get pods --selector env!=prod
NAME READY STATUS RESTARTS AGE
domain-managemet-service 1/1 Running 0 4m20s
user-management-service 1/1 Running 0 4m20s
IN Operator
kubectl get pods -l 'release-version in (1.23, 7)' --show-labels
$kubectl get pods -l 'release-version in (1.23, 7)' --show-labels
NAME READY STATUS RESTARTS AGE LABELS
user-management-service 1/1 Running 0 4m20s application_type=service,author=Krishna,env=dev,release-version=1.23,team=Marketting
NOT IN Operator
kubectl get pods -l 'release-version notin (1.23, 7)' --show-labels
$kubectl get pods -l 'release-version notin (1.23, 7)' --show-labels
NAME READY STATUS RESTARTS AGE LABELS
content-management-service 1/1 Running 0 5m13s application_type=service,author=krishna,env=prod,release-version=7.5,team=Finance
domain-managemet-service 1/1 Running 0 5m13s application_type=service,author=chamu,env=dev,release-version=1.25,team=HR
No comments:
Post a Comment