1. What are Labels and selectors?
In Kubernetes, labels and selectors are key concepts used for organizing and selecting sets of objects.
Labels:- Labels are key-value pairs attached to
Kubernetes objects (such as pods, services, and deployments) as
metadata. They are used to express identifying attributes of objects.
#
kubectl apply -f first pods.yaml
#
kubectl get pods -o wide --show-labels
#
kubectl get pods --show-labels
2. How to add label though command.
#
kubectl label pod <pod_name> <env=testing>
#
kubectl get pods --show-labels
3. Multiple labels added for pods in yaml file.
4. How to edit/replace the name “env=testing” label to “env=prod” label.
#
kubectl edit pods Nginx pod
#
kubectl label --overwrite pod nginxpod env=prod
5. How to delete the “env=testing” label.
#
kubectl label pod nginxpod env-
6. How to add labels for all pods.
#
kubectl label --all status=xyz
7. Check how many pods are running.
#
kubectl get pods
--field-selector status.phase=Running
8. Check how many pods is not running.
#
kubectl get pods
--field-selector status.phase!=Running
9. Check how many pods are running in the namespace.
#
kubectl get pods
--field-selector status.phase=Running,metadata.namespace=default -L env
1. Pods Selector:-
Selectors are used to filter objects
based on their labels. They allow you to define criteria for selecting a
specific set of objects.
Supports newer resources such as:
1.ReplicaSets
2. Deployments
3. Jobs
4.DaemonSet
2. ReplicaSet uses Set-based operators and replicationController
uses Equality-based.
Types of
Selectors:
Equality-Based
Selectors: Match objects based on the equality
of label values (=, ==, !=).
Set-Based
Selectors: Match objects based on the presence
or absence of labels ( operator:- in, notin, exists, DoesNotExist).
1) matchLables: This field is a map of key-value pairs. When
using matchLabels, resources are selected where the labels match exactly the
key-value pairs specified in the selector.
2)
matchExpressions : This field
allows for more complex label selectors using a list of requirements. Each
requirement contains a key, an operator, and a value. ( operator :- in,
notin, exists, DoesNotExist).
For operator: In
When the first expression is
run, four pods will be selected, then when the second expression is run,
only 2 pods will be selected.
For operator: NotIn (ignore labels)
When the expression is run, 2
pods is not selected (app: Python) and only 3 pods will be selected.
For
example:-
For
operator: In, Notin, equal.
Pods selector
# cat
nginx_pods.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-app
spec:
replicas: 3
selector:
matchLabels:
app: my-web-app
template:
metadata:
labels:
app: my-web-app
spec:
containers:
- name: web-app-container
image: nginx:latest
ports:
- containerPort: 80
1.selector name app=my-web-app :-
4. For endpoint :-
5.Curl command :-
No comments:
Post a Comment