Several containers such as Linux container, docker container or any of them, they package the application and isolate them from the host. This makes the container faster, reliable, efficient, light-weight and scalable.
But apart from being light-weight or scalable containers lead to issues like they could not communicate with each other, containers had to be deployed appropriately, they had to be managed carefully, auto-scaling was not possible with containers, distributing traffic was still challenging.
These problems were overcome by Kubernetes.
Kubernetes is an open-source container management tool which automates container deployment, container de-scaling and container load balancing. The benefits of it is that it works well with all cloud windows with all public, hybrid, on-premise cloud vendors.
Kubernetes has a huge community because it was first developed by Google and later donated to CNCF.
K8’s can group ‘n’ number of containers into one logical unit for managing and deploying them easily.
Fig: Architecture of Kubernetes
The first step here is to create a master which is the first step in creating the cluster. Then get the nodes to join those clusters. Either the pods or containers, everything would be running in nodes.
The K8’s masters can only be scheduling or replicating these containers across all these nodes, making sure the configuration satisfied.
There are two ways to access the K8’s master. By UI or by CLI, the CLI is the default way and it is a main way technically because when a user starts to set-up the cluster, they can use CLI and from this user can enable the dashboard. Once the dashboard gets enabled user probably get the GUI and start using K8’s deploying with the help of dashboard.
K8’s Master controls the node and inside nodes there were containers inside them. Containers are inside a separate PODS.
PODS are logical collection of containers which need to interact with each other for an application.
Replication Controller is master’s resource to ensure that requested number of PODS are running on nodes always.
Service is an object on master that provides load balancing across a replicated group of PODS.
The portable, being an open-source platform, Kubernetes manages the containerized workloads and services that ease the configuration and automation. The blog gives you an overall idea of what K8’s is and how it works.