
This is where you can configure load balancing for your numerous pods and expose them via a service. Hence K8s has introduced the concept of a service, which is an abstraction on top of a number of pods, typically requiring to run a proxy on top, for other services to communicate with it via a Virtual IP address. Imagine a typical Frontend communication with Backend services. This could make the communication of microservices hard. ServiceĪs pods have a short lifetime, there is not guarantee about the IP address they are served on. They are created, destroyed and re-created on demand, based on the state of the server and the service itself. These are co-located, hence share resources and are always scheduled together. This group of containers would share storage, Linux namespaces, cgroups, IP addresses. This group, the smallest unit that can be scheduled to be deployed through K8s is called a pod. Often those microservices are tightly coupled forming a group of containers that would typically, in a non-containerized setup run together on one server. Kubernetes targets the management of elastic applications that consist of multiple microservices communicating with each other. Glossaryīefore we dive into setting up the components, you should get comfortable with some Kubernetes glossary. We will then have them all installed using the docker container provided as a playground by K8s team, and review the components deployed.

In this article, we will look into the moving parts of Kubernetes – what are the key elements, what are they responsible for and what is the typical usage of them. Google has given a combined solution for that which is Kubernetes, or how it’s shortly called – K8s. Nearly all applications nowadays need to have answers for things like


One still needs to take care of scheduling the deployment of a certain number of containers to a specific node, managing networking between the containers, following the resource allocation, moving them around as they grow and much more. However, the more granular the application is, the more components it consists of and hence requires some sort of management for those. Containerisation has brought a lot of flexibility for developers in terms of managing the deployment of the applications.
