Kubernetes
- Kubernetes is an open-source container management tool which automates container deployment, container scaling and load balancing.
- It schedules, runs and manages isolated containers which are running on virtual/ physical/ cloud machines.
- All top cloud providers support Kubernetes.
History:
- Google developed an internal system called 'Borg' (later named as omega) to deploy and manage thousands google application and services on their cluster.
- In 2014, google introduced Kubernetes as an open-source platform written in Golang, and later donated to CNCF (cloud Native Computing Foundation).
| Features | Kubernetes | Docker Swarm | 
| Installation & Cluster Config | Setup is very complicated, but once installed cluster is robust. | Installation is very simple, but the cluster is not robust. | 
| GUI | GUI is the Kubernetes Dashboard. | There is no GUI. | 
| Scalability | Highly scalable and scales fast. | Highly scalable and scales 5x faster than Kubernetes. | 
| Auto-scaling | Kubernetes can do auto-scaling. | Docker swarm cannot do auto-scaling. | 
| Load Balancing | Manual intervention needed for load balancing traffic between different containers and pods. | Docker swarm does auto load balancing of traffic between containers in the cluster. | 
| Rolling Updates & Rollbacks | Can deploy rolling updates and does automatic rollbacks. | Can deploy rolling updates, but not automatic rollback. | 
| DATA Volumes | Can share storage volumes only with the other containers in the same pod. | Can share storage volumes with any other container. | 
| Logging & Monitoring | In-built tools for logging and monitoring. | 3rd party tools like ELK stack should be used for logging and monitoring. | 
Architecture
Components of Control Plane (master):
- Kube-API server
- Etcd
- Kube-scheduler
- Controller manager

Comments
Post a Comment