Kubernetes Main Concepts in 2 Minutes
- by admin
Kubernetes is a system for auto deploy, scale, and manage containerized application, it has been created to solve the `bets to cattle` problem where the number of your application’s servers grow to a point that makes it difficult to manage them.
How Kubernetes works?
Kubernetes is based on the concept of balancing the current state and the desired state, where the desired state is what you want your production environment to be, in other words, how many servers you want to be up and running for your application. The current state means the current status of your production environment.
We feed the desired state through a set of instructions. then Kubernetes continuously compare it with the current state, if they don’t match, Kubernetes will do the necessary adjustments to match them by provisioning or deprovisioning resources.
The Node is nothing but a fancy term for a computer, it could be a physical computer or could be a computing instance like AWS EC2 instances.
The cluster is a collection of Nodes (computers) related to each other and work together.
The Pod is nothing but one or more docker containers, sharing the same network card (having the same localhost).
you can think of them as two separate computers sharing the same network card, or two separate processes in one computer. The main goal of the pod is to separate processes and their dependencies while maintaining the same network identity.
pods are the basic unit of deployment in Kubernetes, they get deployed to the nodes of the cluster, and these nodes can have one or more pods on them, it’s up to Kubernetes to arrange the pods between the nodes.
The replica is a clone of a pod, replicas are needed to distribute the load.
A service is a group of pods that running somewhere in the cluster and they provide the same functionality.
The deployment is what you use to describes your desired state to Kubernetes.