Kubernetes assigns a different IP address each time that it starts a pod.
Services assign a unique IP address to a set of pods.
Services use labels to identify pods.
Applications retrieve the IP address of a service by using the servicename.namespace.svc.cluster.local DNS name.
Network policies filter the traffic to pods.
Services of the ClusterIP type are accessible only from pods that are running inside the cluster.
Services of the NodePort type expose a network port on all the cluster nodes.
External clients can connect to that port on one cluster node to reach the service.
Services of the LoadBalancer type rely on the cloud provider load balancer to forward the incoming traffic to the service.
Red Hat OpenShift routes enable HTTP, HTTPS, and TLS external traffic to reach a service.
Kubernetes ingress resources are similar to Red Hat OpenShift routes.
Because virtual machines are running inside pods, you can use all the services and route features to make them available on the network.