Introduction To Kubernetes.

Introduction To Kubernetes.

Kubernetes is an open-source container management or container orchestration tool developed by Google and later donated to CNCF. It is written in the Go Programming language. Often Kubernetes is known as K8s which is a nomenclature type called numeronym where K is the First letter s is the last and 8 characters between them.

Before Understanding Kubernetes we need to understand why it came into the market

IT Industry Before Kubernetes:

Monolithic Architecture:

In the early age of IT or Internet industry applications were running on a server as a combined code for all the services in the application. the drawback of this system was we were unable to scale up, harder modification of the code and so on.

Microservices architecture:

To overcome the issues with a monolithic architecture, containerization came into the picture which leads to microservices architecture .containerization is like a virtual machine but it virtualizes at the OS level. On a single machine, we can run multiple containers and because of this, we were able to utilize all the resources of the machine for different use cases. microservices give the edge for the developers to develop and separate code for different services and another thing is he/she can use different languages and environments for different services. To communicate with these services as a whole Api gateways are used and these services are loosely coupled with each other internally through APIs

But the problem with the containers was they were not scalable. large organizations have containers in thousands and millions. to manage this range of containers was very difficult and time-consuming. For fixing the container management issue several tools started coming into the market among them Kubernetes was the one.

Why Kubernetes is so popular?

It is so popular because of the amazing features it provides like

  1. Autoscaling: Using K8s we can scale several containers up and down according to our requirements.

  2. AutoHealing: If for some reason container/pod stopped working k8s will start another container/pod to fulfil the requirement

  3. LoadBalanacing: Distributes the load equally on all containers

  4. RollBack: can rollback to the previous and next version in a short time

  5. Platform independent: can run on-premise, on virtual machines and the cloud.

Let's understand what container management actually is.

Let's take the example of Amazon Prime.

Amazon Prime provides different services like Gaming, music, video content, live sports etc. they will create a number of containers for different services and API gateways will be used to communicate with them. if demand for some service increases k8s will create containers of that service as much as they need and when demand decreases k8s will automatically delete the extra containers of that particular service. In this way, another services will not be affected.

Overview of the Kubernetes architecture

Kubernetes is a cluster of nodes or can say servers in which some are master nodes and others are worker nodes. The master node is where all the containers are managed by checking are all the required number of containers are running or not etc. On the worker nodes, the actual containers are deployed where our code/application is running. There are different components of the master and worker nodes which works for running the Kubernetes cluster efficiently.

Conclusion:
This article provides an overview of Kubernetes, an open-source container management or container orchestration tool developed by Google and later donated to CNCF. The article describes the evolution of IT industry architectures, from monolithic architecture to microservices architecture, and the introduction of containerization as a solution. However, the problem of managing thousands or millions of containers led to the development of Kubernetes. The article highlights some of the popular features of Kubernetes, such as autoscaling, auto-healing, load balancing, and platform independence etc

Thank You!!

Did you find this article valuable?

Support Pranav Thorve by becoming a sponsor. Any amount is appreciated!