What is Kubernetes?

September 10, 2017

Kubernetes (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.