Deploying and Kubernetes



Once you finish your application, you pack it into the container; hence, your application is containerized. Eventually, we will move this container into some cloud service provider like AWS, Azure, etc. As a developer, you are more concerned about source code and its environment and not the host machine/cloud configuration. If you visit AWS, you can't even navigate their website and get what you want as a newbie. Anyway, that's the job of a DevOps engineer.


Every cloud provider has a different syntax/rules/procedure to create a virtual instance of our machine in their cloud. They have their own products or services, and we must follow their steps to deploy our containerized application. This essentially means we are locked into their services as the rules/syntax/procedure we followed to deploy is cloud service provider-specific. What if we want to change the service provider for some reason? Do we need to learn all the things brand new for the new service provider?


There must be a way to get around this and yes, welcome to Kubernetes. Well, the good news is it is Open source, and therefore it is free of cost.


By now, we can understand the definition of Kubernetes on their official site,

Kubernetes, also known as K8s, is an open-source system for automating containerized applications' deployment, scaling, and management.

At the end of the day, it makes the deployment configuration and settings easier when you want to deploy a containerized application in the cloud. It will automate and monitor your application. It makes scaling and load balancing easier(Handling more requests and splitting the task between machines of your app).


Any technology makes our lives easier and simpler. So new technology is a bunch of jargon that could be explained simply.


The jargons are

  • Cluster

  • Node

  • Working node

  • Master node

  • Kubelet

  • Pods

  • Scheduler

  • API server etc.