+++
title = "Labels "
chapter = false
weight = 6
+++



:imagesdir: /images





== Labels
This is a pretty simple lab, we are going to explore labels.  You can use labels to organize, group, or select API objects. 

For example, pods are "tagged" with labels, and then services use label selectors to identify the pods they proxy to. This makes it possible for services to reference groups of pods, even treating pods with potentially different docker containers as related entities.

== Labels on a pod
In a previous lab we added our web app using a S2I template.  When we did that, OpenShift labeled our objects for us.  Let's look at the labels on our running pod.

Step 1:: See Current labels

----
oc get pods
oc describe pod/<POD NAME> | grep Labels: --context=4
----

----
Namespace:    demo-1
Priority:     0
Node:         ip-10-0-132-38.us-east-2.compute.internal/10.0.132.38
Start Time:   Tue, 14 Apr 2020 17:41:58 +0000
Labels:       app=dc-metro-map
              deploymentconfig=dc-metro-map
              pod-template-hash=7bc46bf89d
Annotations:  k8s.v1.cni.cncf.io/networks-status:
                [{
----

You can see the Labels automatically added contain the app, deployment, and deploymentconfig.  Let's add a new label to this pod.

Step 2:: Add a label


----
oc label pod/<POD NAME> testdate=4.14.2020 testedby=mylastname
----

Step 3:: Look at the labels

----
oc describe pod/<POD NAME> | grep Labels: --context=4
----

----
Namespace:    demo-1
Priority:     0
Node:         ip-10-0-132-38.us-east-2.compute.internal/10.0.132.38
Start Time:   Tue, 14 Apr 2020 17:41:58 +0000
Labels:       app=dc-metro-map
              deploymentconfig=dc-metro-map
              pod-template-hash=7bc46bf89d
              testdate=4.14.2020
              testedby=mylastname
----


----
Click "Workloads", 
click on "Pods", 
Click on the three vertical dots next to the "Running" pod.  
Consider filtering for Status "Running".
----


image::ocp-lab-labels-pods.png[project]


----
Click "Edit Labels"
Add 'testedby=mylastname'
click "Save"
----
image::ocp-lab-labels-poddetails.png[project]
Here, at the top, you can see the labels on this pod


image::ocp-lab-labels-podedit.png[project]

Your updated label will show up in the running pods.

----
Select Workloads 
select pods
select dc-metro-map (Running POD), 
then scroll down to "Labels"
----

image::ocp-lab-labels-podedit3.png[project]



== Summary
That's it for this lab. Now you know that all the objects in OpenShift can be labeled.  This is important because those labels can be used as part of your CI/CD process.  An upcoming lab will cover using labels for Blue/Green deployments. Labels can also be used for running your apps on specific nodes (e.g. just on SSD nodes or just on east coast nodes).  


