KUBERNETES (K8s)
KUBERNETES (K8s)
➢ 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 of google applications 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).
Online platform for K8s:
- Kubernetes playground
- Play with K8s
- Play with Kubernetes classroom
Cloud-based K8s services:
- GKE: Google Kubernetes Services
- AKS: Azure Kubernetes services
- Amazon EKS: Amazon Elastic Kubernetes Services
Kubernetes installation tool:
- Minicube
- Kubeadm
Problems with scaling up the containers:
➢ Containers cannot communicate with each other.
➢ Autoscaling and load balancing was not possible.
➢ Containers had to be managed carefully.
Features of Kubernetes:
➢ Orchestration (clustering of any number of containers running on different networks)
➢ Autoscaling (supports both horizontal and vertical scaling)
➢ Auto-healing
➢ Load balancing
➢ Platform independent (cloud/ virtual/ physical) ➢ Fault tolerance (node/ POD failure)
➢ Rollback (going back to the previous version)
➢ Health monitoring of containers
➢ Batch execution (one time, sequential, parallel)
FEATURES | KUBERNETES | DOCKER SWARM |
Installation and cluster configuration | Complicated and time consuming | Fast and easy |
Supports | K8s can work with almost all container types like rocket, docker, container | Work with docker only |
GUI | GUI available | GUI not available |
Data volumes | Only shared with containers in the same POD | Can be shared with any other containers |
Update and rollback | Process scheduling to maintain services while updating | Progressive updates and service health monitoring throughout the update |
Autoscaling | Support vertical and horizontal autoscaling | Not support autoscaling |
Logging and monitoring | Inbuilt tool present for monitoring | Used 3rd party tools like splunk |