5 Common Kubernetes Myths Revisited

Published on March 10, 2023 | 5 Mins Read


Developed by Google in 2008, Kubernetes is a software orchestration system to manage, run, and scale containerized applications. 

Born out of a very sophisticated system called Borg, and then donated to the Cloud Native Computing Foundation (CNCF), Kubernetes has been widely adopted by organizations from Fortune 500 companies to startups.

Throughout the years, there have been many success and failure stories. Although some are inspiring, delivering business value, innovation, and making life easy for developers and end-users, others are horrifying and unpleasant. 

Recently, Kubernetes’ adoption crossed the chasm, and today more than 75% of large organizations are using containers, according to Gartner.  However, there have been many myths about Kubernetes and its adoption that are either attracting more users or pushing them away.

In this blog post, I address five common myths and separate them from facts so you can decide whether it’s the right solution for you now, later, or maybe never.


1. Kubernetes is a beast

It can be helpful to follow the first principle of thinking to understand complex and emerging concepts. That’s to break down something into its essential elements and reassemble it from the ground up. 

For example, if we want to apply this to the Linux operating system we find that it has hardware, the core of the operating system (aka Kernel), system libraries to interact with the operating system (i.e: to print a document), the command-line shell, and user applications.  

In a nutshell, Kubernetes is an API server. It’s designed to take a request, validate it, process it, and then respond. Sure enough, there are other main components that it can’t function without.  Here is a quick overview as shown in the image below.

Image Courtesy of Kubernetes.io 

Control Plane Components

  • etcd: A high-available key-value store that acts as the single source of truth 

  • kube-scheduler: A component that watches for requests to create pods (a collection of containers and the smallest unit of compute)  and assigns them to a node based on resources, availability, and other factors

  • kube-controller-manager: A component that manages and runs control loop processes — things like Jobs, Deployments,...etc. 

  • cloud-controller-manager: An optional component that interacts with the underlying cloud provider to programmatically provision, delete, and monitor cloud resources

Node Components:

  • kubelet: An agent that runs on each node

  • kube-proxy: A network proxy that runs on each node and uses the underlying operating system networking layer to forward traffic between nodes and containers. 

It’s unlikely you started your journey learning Linux by contributing to the Kernel.Probably, you started learning the fundamentals such as the command-line shell, shell programming, and went from there. 


2. Kubernetes is for every organization or team

As aforementioned Kubernetes was developed by Google and then donated to CNCF. Google is on a mission to organize the world’s information and has an army of platforms,  applications, and data centers around the globe powering its search engine, mobile phones, and Google Cloud Platform (GCP). 

That doesn’t mean that you have to run megascale workloads to use Kubernetes. However, there’s a certain baseline maturity that your organization or team should have in the following dimensions. 

  • DevOps:   You don’t necessarily have to be in the DevOps elite class. However, it’s essential to have basic experience and capabilities when it comes to automation, deployment pipeline, monitoring logging, tracing,..etc.  

  • Skilled Workforce: Although there’s a shortage of Kubernetes talent, you want at least one or two team members with prior knowledge and experience to get started while finding ways to beat the skill shortage. 

  • Vision: Like many technologies or tools, Kubernetes has its benefits and side effects. It is better to go into this journey with a clear vision of what you are trying to accomplish. Some organizations want to deploy software faster while upskilling their engineers. Others struggle with overspending and want to run experiments to curb cloud costs. The CNCF has a good inventory of case studies for inspiration and learning.    

3. Kubernetes is the best container orchestration software

What might work in your organization might not suit mine and vice versa. Although we have a list  of proposed best container orchestration tools for 2023 and every year the list might change, you don’t have to use Kubernetes because everybody else does.

The closest analogy to this is the Linux operating system. When it came out, many organizations were using Windows Server or Unix, it took them decades to move to Linux. Some didn’t move to this day.

In principle, you want to have a  particular critical mass regarding the number of containerized applications running in your environment to make sense using Kubernetes. For some, that’s a thousand containers, for others that's a hundred because they are a container-first startup willing to dig in, learn, experiment, and fail fast.

4. Kubernetes is (not) secure

You might have heard that Kubernetes is wide open and insecure. Also, you might have heard the opposite, Kubernetes can isolate workloads and lock down containers with limited or no access to the underlying host. Both are correct.

For example, out of the box, Kubernetes allows traffic between any two pods in the cluster. This is by design since Google’s intention of Kubernetes was to transform any group of machines into a micro-datacenter powerhouse. That doesn’t mean we don’t have security measures to prevent this.  It’s up to you and your team to implement such security measures and guardrails to lower security risks, scan for vulnerabilities, and detect intrusions. 

The best analogy to describe this is the World Wide Web (WWW). It works according to TCP/IP protocols considered wide-open by default. It’s up to us to add security layers including encryption, multi-factor authentication,..etc. Otherwise, there won’t be any eCommerce or online banking on the web today.

5. Kubernetes is hard to learn

Today, IT leaders are looking for engineers with Kubernetes expertise. It’s the number one challenge, according to the 2022 state of Kubernetes report by VMWare. 

Although there are several strategies to beat such skills shortage, it’s advisable to keep in mind there is a learning curve to climb here and each technologist or team journey is different.

The good news is that there are plenty of resources available today to learn and master Kubernetes whether you’re a junior developer, architect, CTO, or a business person.  

Kubernetes is an open source technology. Anytime, you can read the docs , crack open its code, and deep dive. 

CNCF provides some certifications. Passing such exams won’t make you an expert overnight. There is nothing compared to hands-on experience working on projects and managing production clusters,..etc. However, certifications can encourage your team to learn, collaborate, and share more.  

 

 

Container adoption is accelerating, and Kubernetes is here to stay. It’s an open source extensible technology that can help accelerate innovation, shorten time to market, and optimize IT costs. 

Like any emerging technology, it’s paramount to weigh the cost and benefits to your team or organization, have a vision, and preplan. 

If you are starting, in the middle of, or have been considering going cloud native, book a call to discuss if this is a good fit for your team and organization, formulate a cloud native strategy, and plan your journey.

Previous
Previous

Why CISOs Should Focus on Software Supply Chain in 2023

Next
Next

A Tale of Two Enterprises: Cloud Native & Cloud Naïve