What is it all about?
Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery.
* Automatic binpacking - Automatically places containers based on their resource requirements and other constraints, while not sacrificing availability. * Self-healing - Restarts containers that fail, replaces and reschedules containers when nodes die, kills containers that don’t respond to your user-defined health check, and doesn’t advertise them to clients until they are ready to serve. * Horizontal scaling - Scale your application up and down with a simple command, with a UI, or automatically based on CPU usage. * Service discovery and load balancing - No need to modify your application to use an unfamiliar service discovery mechanism. * Secret and configuration management - Deploy and update secrets and application configuration without rebuilding your image and without exposing secrets in your stack configuration. * Automated rollouts and rollbacks - Kubernetes progressively rolls out changes to your application or its configuration, while monitoring application health to ensure it doesn’t kill all your instances at the same time. * Storage orchestration - Automatically mount the storage system of your choice, whether from local storage, a public cloud provider such as GCP or AWS, or a network storage system such as NFS, iSCSI, Gluster, Ceph, Cinder, or Flocker. * Batch execution - In addition to services, Kubernetes can manage your batch and CI workloads, replacing containers that fail, if desired.