Skip to content

Latest commit

 

History

History
113 lines (70 loc) · 2.38 KB

creating-and-managing-services.md

File metadata and controls

113 lines (70 loc) · 2.38 KB

Creating and Managing Services

Services provide stable endpoints for Pods based on a set of labels.

In this lab you will create the monolith service and "expose" the secure-monolith Pod externally. You will learn how to:

  • Create a service
  • Use label selectors to expose a limited set of Pods externally

Tutorial: Create a Service

Explore the monolith service configuration file:

cat services/monolith.yaml 

Create the monolith service using kubectl:

kubectl create -f services/monolith.yaml

Exercise: Interact with the Monolith Serviec

Beceause we can't reach the service externaly at the moment we start a curl container to run from.

kubectl create -f pods/curl.yaml
kubectl exec curl --stdin --tty -- sh 
curl -v -k https://monolith

Quiz

  • Why are you unable to get a response from the monolith service?

Exercise: Explore the monolith Service

Hints

kubectl get services monolith
kubectl describe services monolith

Quiz

  • How many endpoints does the monolith service have?
  • What labels must a Pod have to be picked up by the monolith service?

Tutorial: Add Labels to Pods

Currently the monolith service does not have any endpoints. One way to troubleshoot an issue like this is to use the kubectl get pods command with a label query.

kubectl get pods -l "app=monolith"
kubectl get pods -l "app=monolith,secure=enabled"

Notice this label query does not print any results

Use the kubectl label command to add the missing secure=enabled label to the secure-monolith Pod.

kubectl label pods secure-monolith 'secure=enabled'

View the list of endpoints on the monolith service:

kubectl describe services monolith

Quiz

  • How many endpoints does the monolith service have?

Exercise: Interact with the Monolith Service Remotely

Hints

Curl above

Tutorial: Remove Labels from Pods

In this exercise you will observe what happens when a required label is removed from a Pod.

Use the kubectl label command to remove the secure label from the secure-monolith Pod.

kubectl label pods secure-monolith secure-

View the list of endpoints on the monolith service:

kubectl describe services monolith

Quiz

  • How many endpoints does the monolith service have?

Summary

In this lab you learned how to expose Pods using services and labels.