What is Kubernetes?

What is Kubernetes?

Kubernetes is an open-source platform for automatically deploying, scheduling, networking, managing, and maintaining container workloads.

Kubernetes was originally based on Borg, the container orchestration system used by Google internally.

Advantages

Kubernetes is infrastructure agnostic i.e. abstracts the higher-level application layers from the underlying infrastructure.

This gives developers the ability to design containerized applications that are portable, scalable, and flexible to run in different infrastructure models:

  • Cloud
  • On-premise
    - Virtual
    - Baremetal

Kubernetes lets DevOps teams standardize around a standard set of deployment models and administrative tools, irrespective of the underlying infrastructure.

As part of CNCF (Cloud Native Computing Foundation), Kubernetes has spawned a large ecosystem of open-source projects, shown here at the CNCF Landscape, that aim to extend Kubernetes’ functionality and make it easy to use.

Drawbacks

Kubernetes is very complex, its networking architecture in particular. The learning curve is steep even for experienced engineers.

For simple applications that do not need to scale up or down, Kubernetes could be an overkill.

Migrating existing applications to Kubernetes is time-consuming and complex, especially for non-containerized applications.


In the upcoming blog posts, we will go deeper into Kubernetes concepts, architecture, tools, ecosystems, etc.


At Kubikk, we’re trying to help DevOps engineers get up and running with Kubernetes clusters easily and quickly. Reach out to us for more information.