DEV Community

Cover image for What's Kubernetes??
Akhik Dutta
Akhik Dutta

Posted on • Edited on

What's Kubernetes??

Well, Kubernetes is just an open-source container orchestration tool. Now, what do I mean by that?? Let’s try to understand what containers and orchestration are!

Well in layman language containers are just software packages that contain all the necessary executables to run the applications and,orchestration simply means managing. Therefore Kubernetes manages all the deployed containers by
removing dead containers, updating them, checking their health, etc .. Now let’s see what’s virtualization and containers are and what Kubernetes does!! (if you are not bored of course:))

Why Virtualization is needed? And what are Containers?

From early on organizations ran multiple applications on a single server without a clear distinction between resource boundaries.This caused resource allocation issues. For example, at a particular instance one application would use up more resource and the other would struggle with not getting enough resources for their processes to run.So, one of the solutions for this problem was to set up many physical servers but that was not efficient, the resources would be underutilized(cause most of the time a single server would only run at half of its full potential unless there is some heavy usage) and also expensive for the organizations to maintain.

So, our hero came in the form of virtualization. But first of all, let’s try to understand what virtualization is?? Virtualization is nothing but software computers that have their OS, space, and processing power, etc… ,and they sit on hypervisors(hypervisors pull the resources from the main physical server and provide it to VM’s or virtual machines) and in this way a single server can run many VM’s and use the resources more wisely.
Image description

Well, we don’t wanna restart a VM every time a program is running cause restarting a VM is like restarting a computer and it takes time to boot up just like a real computer. So, you can consider containers a light and portable version of VM’s that don’t have all the features of a VM but have all the necessary resources like i/o, disk space, and processing power to run
programs.

Benefits of Virtualization!!

1)Portability
2)Scalability
3)Enhanced Security
4)Easy Management
5)Faster Deployment

Now let’s get to why you may need Kubernetes and what does it do:(

While deploying your containers you don’t wanna experience downtime with your applications cause that will be somewhat very bad.(Or in a production environment, you might be wanting to ensure that there are no issues of dead containers or you might want that the containers are continuously monitored for their health status. And if your business is too large you may not want to manage each container manually cause that will not be that efficient or even impossible, right.
So, Kubernetes will save you and your business just like Superman saving a whole building and its people by carrying all of them single-handedly not of course if you are on Krypton,(: jokes apart let’s go to Kubernetes now. Now Kubernetes provides the framework to manage all the containers resiliently for you ranging from Deployment to Removing dead containers, monitoring their health continuously, etc… etc.

Let’s check on some Kubernetes features;

1)If a particular container has received too much traffic to handle, Kubernetes will balance the network traffic and distribute it so that the deployment is stable
2)You can use the storage system of your choice let it be local storage, public cloud providers.
3)Kubernetes also allows to restart containers that fail, replace them or kill them (if you ask me you shouldn’t kill anyone, right):
For more features, you can read the documentation from Kubernetes official website(I found it boring so I didn’t read much:)

Lastly, it would be great if you could just leave a comment behind. If you have any ideas on improving my writing style plz tell me.

Top comments (0)