Kubernetes (also known as K8s) is open source software for deploying, scaling and managing containerized applications. As an orchestrator, Kubernetes handles the work of scheduling containers on a cluster and also manages the workloads to ensure they run as you intended.
Features:
- Self-monitoring: Kubernetes checks constantly the health of nodes and containers
- Portable: Kubernetes offers portability, and faster, simpler deployment times.
- High availability: Kubernetes addresses high availability at both the application and the infrastructure level.
- Horizontal scaling: Kubernetes allows you scaling resources not only vertically but also horizontally, easily and quickly
- Storage orchestration: Kubernetes mounts and add storage system of your choice to run apps
- Automates rollouts and rollbacks: if after a change to your application something goes wrong, Kubernetes will rollback for you
- Container balancing: Kubernetes always knows where to place containers, by calculating the “best location” for them
- Automates various manual processes: for instance, Kubernetes will control for you which server will host the container, how it will be launched etc.
- Interacts with several groups of containers: Kubernetes is able to manage more cluster at the same time
- Provides additional services: as well as the management of containers, Kubernetes offers security, networking and storage services