A simple explanation of Kubernetes (with illustrations)

posted in: Technology | 0

You’ve heard the term Kubernetes or K8s all around you, and maybe someone explained to you what it is and why it’s helpful, but you’re still feeling confused. Worry not! We’ll provide a super simple explanation of Kubernetes and include illustrations along the way to help you understand the concepts better!

Highlights:

  • A container is a means of packaging an application to run on any server and includes only the essential items the application needs to run: code, runtime, system tools, system libraries, etc.
  • Kubernetes is a way to manage a bunch of containers so that you don’t have to do it manually.
  • The name comes from Greek mythology. Kubernetes is the name of the god who was responsible for steering the ship that carried the sun across the sky.
  • Kubernetes is sometimes spelled as K8s because there are eight letters between the “k” and the “s.”

The history of server infrastructure

Before we can talk Kubernetes, let’s go back in time to when there were physical servers and move our way up to what the infrastructure looks like today.

The time of physical server hardware

A not-so-long time ago in our galaxy, there were physical servers. What did they do? They ran the software. And the people who owned these servers also had to buy physical hardware to store them, power them, and keep them cool (literally).

One day, somebody noticed something.

“These servers that are running one software each aren’t using all their CPU and memory,” they said.  

“Plus, our data center is running out of space!”  

So, what did they do?

characteristics of a physical server

The rise of virtualization

The solution to this was server virtualization. With server virtualization, you could take one physical server and use software to divide it into multiple “virtual servers.” Each of these virtual servers could then run its own software. The physical server became known as the host, and the virtual machines became the guests.

Virtualization was a huge breakthrough! Instead of having one hardware per server, you could run multiple servers on the same hardware.  

You’re still limited to running one application per virtual server with virtualization.

What if you could further break down an application into its parts and run each piece in its own “container”?  

Wait, huh? Why would you want to do that?

Before we answer that, let’s take a quick detour to understand what a “container” is.

Virtualization characteristics

The idea of containers

A container is a means of packaging an application (e.g., mail, file, web, backups, etc.) to run on any server.

Containers include only the essential items the application needs to run: code, runtime, system tools, system libraries, etc. Stripping the fluff from a regular virtual machine makes it really easy to move containers around from server to server. And you can run multiple containers on the same server.

Now that we understand what a container is, let’s get back to why you want to use them.

definition of microservices

The benefits of using containers

There are many benefits of using containers, but here are a few of the most important ones:

  • Containers are portable. You can run them anywhere, on any server, whether on-premises or in the cloud.
  • Containers are isolated from each other, meaning that if one container goes down, it doesn’t affect the others.
  • Containers are lightweight. They use up less space and fewer resources than virtual machines.
container characteristics

Great! We have containers, and we love them! But how can we manage all these little guys?

Enter: Kubernetes.

What is Kubernetes?

Kubernetes (or Kube or Koo-ber-nay-teez) is an open-source system for automating containerized applications’ deployment, scaling, and management.

In other words, it’s a way to manage a bunch of containers so that you don’t have to do it manually. Kubernetes handles all the heavy lifting for you so that you can focus on developing your application.

Kubernetes is also sometimes referred to as a “container orchestrator” because it manages and coordinates all the containers in your application.

The story of Kubernetes

Google created Kubernetes in 2014, and it became open-sourced the following year. The Cloud Native Computing Foundation (CNCF) now maintains K8s.

Image source: startrek.com

Fun fact: The code name for the project at Google was “Borg.” The Kubernetes helm logo has seven spokes as a nod to the Star Trek character Seven of Nine.

The name Kubernetes comes from Greek mythology, referring to the name of the god who was responsible for steering the ship that carried the sun across the sky. Kubernetes is sometimes spelled as K8s because there are eight letters between the “k” and the “s.”

How does Kubernetes work?

Kubernetes works by dividing your application into small, self-contained units called “pods.” Each pod holds one or more containers.

Then, K8s groups pods into “services.” A service is a logical grouping of pods that accomplish the same function. For example, you might have a web front-end service and a database back-end service.

Kubernetes then assigns each pod in a service an IP address and a DNS name so the pods can talk with each other.

Finally, Kubernetes balances the load across all the pods in a service by routing traffic to the individual pods, ensuring that your application is always available and responsive, even if one of the pods goes down.

Diagram with a simple explanation of kubernetes
Kubernetes is a mighty tool that can help you manage and orchestrate your containerized applications.   And that’s all there is to it!   

Related: Kubernetes statistics

Did you enjoy the simple explanation of Kubernetes?

StatsFind regularly publishes articles on statistics from various fields, trending topics, and events throughout history that pique interest. Have a technical subject you want to be covered? Let us know in the comments!

Want to get notifications of new articles? Subscribe today!

Leave a Reply

Your email address will not be published.