DEV Community

Cover image for What Kubernetes Is And Why Use It
Swapnil V. Patil
Swapnil V. Patil

Posted on

What Kubernetes Is And Why Use It

Introduction

Kubernetes is the leading container-oriented platform, which allows you to run containers efficiently on top of a cluster of machines. It is a family of open source software that simplifies IT operations by automating deployment, scaling, and management of containerized applications in production.

Why Kubernetes?

Kubernetes is a container orchestration tool that makes it easy to deploy applications in containers. It’s the most popular container orchestration tool, and it has been growing in popularity over time.

Kubernetes was developed by Google engineers as a way to manage their own internal systems at scale. The open source nature of Kubernetes means that anyone can use it—and many companies have! Red Hat, IBM (formerly known as LinuxONE), and Microsoft all support Kubernetes on their operating systems: Red Hat Enterprise Linux 7 LTS; IBM z Systems; and Microsoft Azure Container Service (ACS).

What is Kubernetes?

In a nutshell, Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It was originally developed by Google in 2014 and has since been adopted by many enterprises as well as startups.

Kubernetes can be used to deploy and manage applications written in any programming language (including Python).

Features of Kubernetes

Kubernetes is an open source container orchestration system.

Kubernetes is a container management tool that can manage containers at scale. It's built on top of Docker and provides a solution for managing large numbers of applications across clusters or clouds, including multi-node clusters in the cloud. Kubernetes also supports advanced features like service discovery, self-healing systems, rolling updates and fine grained policy management across multiple environments like development and production—all without impacting performance or cost.

You can deploy Kubernetes on-premise or in the cloud if you want to run it locally (on your own hardware). With Kubernetes you'll be able to create highly available apps that scale automatically with your infrastructure needs as well as provide high availability by replicating data between two different nodes when needed so that both machines remain up even if one node fails unexpectedly during normal operation - this will help keep everything running smoothly even when things aren't working optimally yet!

Kubernetes vs. Docker Swarm

Kubernetes and Docker Swarm are two different container orchestration tools. They both use the same underlying technology, which is Docker Engine and its API (the command line interface).

Docker Swarm is built on top of Docker Engine and Docker API. It allows you to create clusters that make use of multiple nodes, each running one copy of the software in order to scale up or down as needed without having to manually restart them. Kubernetes was specifically designed with this goal in mind: scaling up/down applications by creating multiple instances that share resources like storage space, CPU time and memory across all nodes in your cluster

Kubernetes Architecture

Kubernetes architecture is a distributed system. The control plane contains the API server, scheduler and controller manager. The worker nodes contain the kubelet, container runtime (Docker), and docker daemon.

The network of control plane components is designed to be as decoupled as possible from that of worker nodes so that changes in one part don't impact another part; however, it's important to note that some aspects are still tightly coupled since they're all implemented on top of Pod objects which exist within each namespace hierarchy.

Go through these topics and get your hands dirty!

The Kubernetes platform, formerly known as Google Container Engine (GKE), is an open source container orchestration system that allows you to automate deployment, scaling and management of containerized applications. It’s designed for any workload from small one-off jobs to large data centers.

Kubernetes was created by the same team behind Hadoop and it has been running on Google's cloud since 2014; however it wasn't until recently (2017) that they decided they would make this technology available outside of their own internal ecosystem. The main reason behind this decision was probably because many people were using containers as part of their microservices architecture instead of virtual machines which would not have been supported by Kubernetes at launch time - hence why we now have two different frameworks with similar names!

Conclusion

Do you want to learn about Kubernetes but don’t know where to start? Follow these five steps and you will be up and running with a Kubernetes cluster in no time!

Top comments (2)

Collapse
 
styren profile image
Buster Styren

Good read. I heard someone say that Kubernetes is like the packing robot in a fulfillment center, I thought that was a pretty good analogy.

Collapse
 
naucode profile image
Al - Naucode

That was a good read, thank you, followed and bookmarked!