Originated from a Greek word, meaning “helmsman” or “sailing master”, Kubernetes, or k8s is an extensible, open-source platform to manage containerized applications and services. By automating Linux container operations, Kubernetes eliminates cumbersome, tedious and time-consuming manual processes of deploying and scaling containerized applications.
Developed by Google, Kubernetes is an open-source container orchestration platform that helps to automate the deployment, scaling, and management of containerized applications. Backed by key players in the market such as Google, Microsoft, IBM, AWS, Intel, and Cisco, Kubernetes has established itself as the defacto standard for container orchestration and is an important project of Cloud Native Computing Foundation (CNCF).
Kubernetes deployment makes it easy for the DevOps teams to deploy and manage applications in a microservice architecture. Kubernetes also help in managing the following activities:
- Controlling and managing resource consumption by the application or the team.
- Even distribution of the application load across the hosting infrastructure.
- Automatically load balancing requests across the different instances of the application.
- Monitoring resource limits to automatically stop applications from consuming too many resources.
- Moving an application instance from one host to another when there is a shortage of resources in a host, or if the host dies.
- Make sure that additional resources are made available when a new host is added to the cluster.
- Hassle-free and quick canary deployments and rollbacks.
- Monitoring the overall health status of the cluster components.