This blog is a little bit longer than other parts of Kubernetes explained deep enough. Kubernetes networking is a very complex topic and trying to write about all nuances of different services and mechanisms would probably take a few blogs on it’s own. Instead we will focus on specific areas of Kubernetes Networking: services and look at their practical applications.

Since this series is about exercising and practical examples, we will focus less on deep diving into each service types, but rather merge them together into a broader category of Networking and look at it from holistic point of view highlighting only those aspects that are important for the examples we will work with.

_Visit Kubernetes documentation if you need a refresher about _Services

Basic definitions are provided on diagrams below

How does it work?

In Kubernetes service is a resource that abstracts and encapsulates a way of exposing an application running in pods as a network service.

Although services do not require DNS to work, it is strongly recommended to setup DNS service on Kubernetes using an add-on. There are several DNS services compatible with Kubernetes dns specification, 2 most popular are:

After DNS service is setup on the cluster, it is very easy to call services taking advantage of the DNS records created for each service. Since Kubernetes networking is flat meaning that resources can communicate with each other directly via their IPs, this means that it should be possible to call any service in any namespace from any pod in any namespace (providing there are no network policies blocking the traffic).

#cloud-native #cloud-computing #docker #tutorial #kubernetes

Kubernetes explained deep enough: Services
1.10 GEEK