What is Kubernetes?
September 10, 2017Kubernetes (aka K8s) is an open-source platform designed to automate deploying, scaling, and operating application containers.
With Kubernetes is possible:
- Deploy your applications quickly and predictably.
- Scale your applications on the fly.
- Roll out new features seamlessly.
- Limit hardware usage to required resources only.
Kubernetes can be used in a public, private, hybrid, multi-cloud environment and offers all the features needed for extensibility, is modular and pluggable. It can be setup for being reactive with all the DevOps loved features like auto-restart, auto-replication and auto-scaling.
Google started the Kubernetes project in 2014. Kubernetes demonstrates the experience that Google has with running production workloads at scale, combined with best-of-breed ideas and practices from the community.
Containers?
Kubernetes does its best on a container environment, for a brief contains story see What is Docker.
Why do I need Kubernetes and what can it do?
At a minimum, Kubernetes can schedule and run application containers on clusters of physical or virtual machines. Kubernetes also allows developers to ‘cut the cord’ to physical and virtual machines, moving from a host-centric infrastructure to a container-centric infrastructure, which provides the full advantages of containers.
This provides the simplicity of Platform as a Service (PaaS) with the flexibility of Infrastructure as a Service (IaaS), and simplify portability across infrastructure providers.
Getting started
As usual on big projects like this, Kubernets provides a good and deep docs portal, and is open source with a support coming from the community.