Getting Started With Kubernetes - Part One

Introduction 

 
In this series of articles around Kubernetes, we are going to learn the different parts of Kubernetes along with its actual set up. For now, in this article, we will be covering the below topics:
  • Introduction to Kubernetes.
  • Container Orchestration and Tools
  • Kubernetes History
  • Kubernetes Set Up Tools

Kubernetes

 
Kubernetes is an open-source container orchestrator for automated deployment, scaling, and management of containerized applications.
 
With a single docker engine running multiple containers, we can get high availability at the container level but if the docker engine crashes/reboots then all the containers will also go down.
 
Kubernetes
 
So the solution to this problem is Clustering, we can cluster multiple nodes, each running docker engine, and then we can run containers on them.
 
Kubernetes
 
In this case, if one node goes down then also, we have other healthy nodes running the containers. There is a master node that is taking care of all this.
 

Container Orchestration and Tools

 
There will be an orchestrator that will cluster all your docker nodes, docker engines together. This whole thing will act like a single unit or single pool of resources on which your containers can be distributed.
 
For container, it doesn’t matter on which node it is running, as it needs just compute resources that are provided by the docker node and orchestrator will decide that.
 
Kubernetes
 
There are different orchestration tools available in the market, such as:
  • Docker Swarm.
  • Kubernetes.
  • Mesosphere Marathon.
  • AWS ECS(Elastic Container Service) & EKS (Elastic Kubernetes Service).
  • Azure Container Service.
  • Google Container Engine.
  • OpenShift.
Let's us see the news on the container from the past and see that it been a long time since they were in the market.
 
Kubernetes
 

Kubernetes History

 
Let’s now briefly see the history of Kubernetes.
 
Kubernetes
 
Apart from just clustering docker engine, Kubernetes provides more things, such as:
  • Load Balancing
    It can help in load balancing of containers.

  • Automatic Rollout
    Suppose if we change the image version, then this new image can be rolled out very easily and we just need to set the name of the new image and it will deploy the image automatically.

  • Automatic bin packing
    We can control the resource on the containers like CPU or memory is allotted to the pods and containers.

  • Self-Healing
    It monitors your node, pods, and containers and will restart the container if it goes down.

  • Secret and Configuration Management
    If we want to give database information to the tomcat server to connect to the database. We can do that by distributing secrets with the help of Kubernetes.

Kubernetes Setup Tools

 
We have different tools available to set up Kubernetes.
 
MiniKube just creates one node Kubernetes cluster on your computer. It launches a VM in Oracle Virtual box and is not for production.
 
Kubernetes
 
There are other tools as well, but Kops is the best tool to set up Kubernetes Cluster on AWS.
 

Summary

 
In this article, we understood what is Kubernetes, why do we use it, and what are the benefits along with its history. In the next article, we will be learning about its architecture.
 
I hope you find this article helpful. Stay tuned for more … Cheers!!