What is Kubernetes?
Yet another revolutionary discovery of google has come in to play in the name of Kubernetes as a result of Google's 10+ years of experience in containerized apps. In a nutshell, Kubernetes is an open source platform solution provided by Google to manage a cluster of containers.
Kubernetes has the ability of scheduling and running application containers on a cluster of physical or virtual machines. In managing the applications, the concepts of 'labels' and 'pods' are used to group the containers which make up an application. Currently, it supports Docker for containers.
The best part of Kubernetes is its self healing mechanisms such as auto restarting, rescheduling and container replicating used to manage the 'desired state' requested by the user. When the user defines the required state, Kubernetes ensures that the state is maintained at all times on the cluster. For an example if a server goes down, it brings it back again to maintain the state.
Typically, the deployment of a containerized application is a lot of hard work. For an example, think of an application that has a cluster of containers across multiple hosts. Say it has a web tier, application tier and a database tier running on different set of containers. In order the application to function properly, it has to communicate between web tier, application tier and the database tier. That is communication between separate containers. This needs a lot of hard work including scripting, monitoring and management of containers. But, with Kubernetes the problem is solved as it does all the hard work for the user.
Kubernetes Terminology
Pod
A pod is a single schedulable unit in Kubernetes which represents a co-located group of containers. It can not span machines, thus all the containers within a pod should be scheduled on the same host and can be deployed and scaled as a single application. Each pod has a unique IP address and the containers in the pod use a shared network namespace.
Replication Controller
A pod, itself is not able to handle a failure situation. In a situation like a crash in the node, where the pod is running, the pod is removed from the cluster. But in order to provide the desired state to the user, we need to ensure that the state is maintained. The replication controller monitors the cluster and ensures that a given number of pods are running at all the time. If there are more than specified, it will kill some, If there are too few, it will create some. In order to a pod to be monitored by a replication controller, we need to define the pod as a template inside the replication controller.
Service - the basic unit that acts as a load balancer for other containers.
Label - a key/value pair that is assigned to a resource to identify a set of related resources
Selector - an expression that supports to match user defined labels
Label - a key/value pair that is assigned to a resource to identify a set of related resources
Selector - an expression that supports to match user defined labels
Kubernetes Architecture
The basic Kubernetes architecture contains nodes and master.Kubernetes Master
The three important parts of the master are as follows;
- API Server - manages the tasks of all components in master and nodes via API calls
- Etcd - stores and replicates the current configuration and run state of the cluster
- Scheduler and Controller Manager - responsible in scheduling containers
Kubernetes Nodes
A node in Kubernetes has the following important processes:
- Kubelet - responds to the commands from the master to manage pods and their containers
- Proxy - a simple network proxy, which separates the IP address of a target container from the name of the service
In conclusion, it seems pertinent to remember that Kubernetes is a milestone in container cluster management systems.
Thanks for sharing this Blog....!!
ReplyDeleteDocker and Kubernetes Training
Nice Blog..
ReplyDeleteDocker Online Training
Docker Training
Docker Training in Hyderabad
Great job.... Awesome list, just starting a blog and this is going to be a massive help. Thank you!
ReplyDeleteDocker Training in Chennai
Kubernetes Training in Chennai
Informative Blog!!Thanks for sharing!!!
ReplyDeleteDocker and Kubernetes Training
Docker and Kubernetes Online Training
Docker and Kubernetes Training in Hyderabad
Kubernetes Online Training
Docker Online Training
Docker Training in Hyderabad
Docker Training
Kubernetes Training in Hyderabad
Nice article!!!! Thanks for sharing
ReplyDeleteDocker Training in Hyderabad
Docker and Kubernetes Online Training
Docker Training
I have read this post. collection of post is a nice one..!!
ReplyDeleteDocker and Kubernetes Training
Docker Training
Docker Online Training
Docker Training in Hyderabad
This was truly awesome. Thanks so much for this..!
ReplyDeleteDocker Training in Hyderabad
Docker and Kubernetes Training
Docker Training
Docker Online Training
Kubernetes Online Training
Thank you for sharing wonderful information with us to get some idea about it.
ReplyDeleteDocker and Kubernetes Training
Kubernetes Online Training
You have written a very informative blog Those who are doing Kubernetes Certification Training Course. Thanks for writing such a wonderful blog.
ReplyDeleteThanks for sharing the valuable content , its such a very informational article.
ReplyDeleteclick here to know more about Kubernetes.
Nice blog,Thanks for sharing a information.Learn more about..
ReplyDeleteDevOps Training
DevOps Online Training
I think this article is very useful and knowledgeable. It is informative and educational one as well. I will pass this down to my friends. Thanks author. I’ll come back to your blog next post. PHP Training in Chennai | Certification | Online Training Course | Machine Learning Training in Chennai | Certification | Online Training Course | iOT Training in Chennai | Certification | Online Training Course | Blockchain Training in Chennai | Certification | Online Training Course | Open Stack Training in Chennai |
ReplyDeleteCertification | Online Training Course
VERY HELPFUL. , thank you. keep posting!!
ReplyDeletedocker course
best kubernetes course