What is Kubernetes?

Kubernetes is an open-source container-orchestration system for automating deployment, scaling, and management of containerized applications. Kubernetes was originally designed by Google who released it as open source in 2014. The name comes from the Greek meaning helmsman or pilot and continues the container metaphor made popular by Docker. Ships carry shipping containers. Kubernetes is often abbreviated as K8s.  It is now maintained by the Cloud Native Computing Foundation an industry trade association.

What Does Kubernetes Do?

Kubernetes is a container orchestration platform. It orchestrates the computing (via containers), networking and storage. It has fast become the fabric for container workloads both on-premise and in the cloud. Many cloud providers are offering managed Kubernetes as a service today.

This Google Trend line shows the rise of interest in Kubernetes from 2014 through February 2019. Very few technologies have had such a meteoric rise.

The Benefits of Kubernetes

With the wide acceptance as Docker as a more lightweight way to deploy applications, the problem of container proliferation became apparent. Kubernetes fixed this problem by providing a way to sort containers into groups called pods. Pods provided a layer of abstraction that allowed containers to be grouped and workloads to be scheduled.  Kubernetes provides the necessary interface to things like networking and storage and helps to load balance across pods.

In addition as virtually every major cloud provider now supports Kubernetes at some level it provides a way for containers to be balanced across public and private cloud infrastructure in a consistent way. This is the brilliance of the container model. Just like shipping containers can migrate from truck to train to ship. Software containers can migrate from developer workstation to local Kubernetes cluster to cloud without modification.

Extensibility of Kubernetes

Kubernetes is an extensible platform. It can be extended via other projects. These are but a few examples:

  • Networking – OpenvSwitch
  • Registry – Atomic, Docker
  • Security – LDAP, OAUTH
  • Serverless – Kubeless, Knative
  • Telemetry – Kibana, Elastic

Create your first event flow in under 5 minutes