When you deploy many pods to a Kubernetes cluster, service discovery is one of the most important functions, because pods may depend on other pods but the IP address of a pod will be changed when it restarts. You need to have a flexible way to communicate a pod's IP address to other pods. Kubernetes has an add-on feature called kube-dns that helps in this scenario. It can register and look up an IP address for pods and Kubernetes Services.
In this section, we will explore how to use kube-dns, which gives you a flexible way to configure DNS in your Kubernetes cluster.