Kubernetes : Services

When pods get deployed, they get assigned an IP address. If they crash and get re-deployed, they get assigned a different IP address.

We could also have multiple pods handling a single application.
To have a fixed IP address representing all these pods, we use services.
A service represents a fixed IP address through which we could have access to a group of pods.
Services also function as load-balancers directing requests to the appropriate pod or pods.


A deployment is a kubernetes object that provides an easy way to declare pods and to update them using a Yaml file as below:

The above Yaml file will deploy two nginx pods. We could list them using their labels with the below command:

For client applications to access the nginx pods, they go through the below service:

The targetPort is the port the service uses to connect to the pods it represents.
We could check the services using the below command:

We could also check the endpoints of the service, which are the IP addresses the service uses to communicate with its pods:


Leave as a comment: