Kubernetes
Kubernetes (K8s) is an open-source orchestration platform for automating deployment, scaling, and management of containerized applications. Kubernetes is developed by Google in 2014 and written Go language.
Kubernetes = K8s
Kubernetes came from Greek word "Helmsman" or "Pilot" which means person who steers the ship.
It groups multiple containers which are needed to run an application into a logical unit (known as Pod) for easy management. Kubernetes system based on Master and Worker nodes. Where Master node works as a control plane which handles all the communications and application runs in worker nodes.
Note: Kubernetes is not a containerization platform. It is a multi-container management solution.
Kubernetes is a rapidly evolving platform that manages containerized (container-based) applications and their associated networking and storage components. It focuses on the application's workload.
Why Kubernetes?
Kubernetes now become a standard orchestration platform for containers. Now all Cloud Service provides support it and making it as a logical choice for the organizations who are looking to move their applications on Cloud. Kubernetes helps to manage scaling, availability, fail-over and deployments requirements.
For Kubernetes it doesn't matter, if you are deploying couple of nodes in the cluster or thousands of nodes.
Capabilities:
- Service and Process definition
- Service discovery and load balancing
- Storage Orchestration
- Container-level resource management
- Automated deployment and rollback
- Container health management
- Secrets and configuration Management
Advantages of Kubernetes:
Kubernetes is having many powerful and advance capabilities which makes is leader in the field of Container management and orchestration.
It delivers:
- Auto-Scaling - Scale up & Scale down based on traffic and server load automatically
- Availability - Provide availability through Kubernetes cluster which is having very high built-in fault tolerance
- Extensive Ecosystem - Kubernetes having strong ecosystem around Container Networking Interface and Container Storage Interface and inbuilt logging and monitoring tools.
- Auto rollback - Kubernetes having built-in rollback mechanism which monitors the application deployment, in case error rate reached the threshold then deployment will be rolled back to previous version.