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
KubernetesDocker Swarm
Installation & Cluster ConfigSetup is very complicated, but once installed cluster is robust.Installation is very simple, but the cluster is not robust.
GUIGUI is the Kubernetes Dashboard.There is no GUI.
ScalabilityHighly scalable and scales fast.Highly scalable and scales 5x faster than Kubernetes.
Auto-scalingKubernetes can do auto-scaling.Docker swarm cannot do auto-scaling.
Load BalancingManual 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 & RollbacksCan deploy rolling updates and does automatic rollbacks.Can deploy rolling updates, but not automatic rollback.
DATA VolumesCan share storage volumes only with the other containers in the same pod.Can share storage volumes with any other container.
Logging & MonitoringIn-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

Popular posts from this blog

Remote Friendly Companies

Docker Image Vulnerabilities and Scanner Guide: A Quick Overview

Introduction to Istio, Kiali, Jaeger, Grafana, and Prometheus