10 Things You Should Know About Kubernetes

Person working on laptop

In recent years, Kubernetes, a relatively new system has experienced a massive surge in popularity. Most businesses are now using it to automate application deployment, management, and scaling. Organizations like Microsoft, Cloud Foundry, IBM, and Cisco made announcements related to Kubernetes.

Have you ever wondered what Kubernetes actually is? Let’s deep dive into the 10 facts about Kubernetes.

1. Where the Name K8s Comes From

Kubernetes was often referred to as K8s. There are many different stories about how developers began to use them. All stories have one thing in common: to make communication easier within the company. It was much easier to abbreviate Kubernetes by taking the first and last letters and the number of letters that came in between. Hence the term “K8s” was developed.  

This is the same reason why you often see i18n for internationalization and i10n for localization.

2. What’s the Difference Between Kubernetes and Docker Swarm?

Most people who are used to Docker only work with containers. They try to apply their knowledge and experience of using containers with Kubernetes. While that is a valiant effort, it’s totally misdirected because Kubernetes operates by a different set of rules. For starters, Kubernetes occupies the majority of the market at 51% while Docker Swarm stands at 11%.

Docker Swarm is only compatible with Docker containers compared to Kubernetes that can work with most container runtime options including ContainerD, Rocket, Docker, and others.

3. Why Do Businesses Need Container Orchestration?

A container orchestration can perform a range of tasks. The first is to place the application’s container on the required number of servers and taking into account server loads and preventing the container from reaching the overloaded server..

In many cases, an application needs to be horizontally scaled, requiring more containers of the same type. A container orchestrator can help out with the task of scaling up or down by taking into accounts the resources used on the target server and the resource requirements for each application. 

4. Why is K8s Often Compared to OpenStack?

OpenStack was initially designed to work with virtual machines. Kubernetes has been created to manage container orchestration. In other words, Kubernetes has been used to run containerized tasks and OpenStack for managing virtual infrastructure.

They are both different open source systems supported by the community. The only difference is that Google spent a considerable period of time developing Kubernetes under the name Borg. As a result of its carefully coordinated effort, Kubernetes was rich in its features and very stable.

OpenStack was developed from the ground up by the community and is still very fragmented. 

This comparison may help: OpenStack is more like Android, and K8s is more like Apple.

5. Is Kubernetes Only Suitable for Stateless Applications?

Kubernetes makes it easy to scale up to large workloads. Companies don’t have to worry about performance-related issues or the infrastructure running them. To make this possible, the nodes destroy and then recreate whenever necessary. This feature makes Kubernetes statements with the advantage that any node can be destroyed, but without losing the data. It’s one of the most significant facts about Kubernetes that everyone should be familiar with.

Kubernetes was originally designed for stateless apps. This is why compatibility across stateful applications was unreliable.

6. Documentation for Kubernetes is Still “In the Works”

Since Kubernetes is still evolving (courtesy of being an open-source system), documentation is a hit and miss. It isn’t uncommon to find the official documentation being completely wrong, a command broken, or a link to a necessary piece of software being out of date.

So if anyone wants to find help with Kubernetes, they would know better than to waste their time with the official documentation. Keeping up with changes in Kubernetes is challenging and not always a priority for businesses.

7. Does Kubernetes Require an External Load Balancer?

Kubernetes contains automatic load balancing that supports load balancing by path and DNS name. There is support for many options. There is also integration with the cloud load balanced: if you work somewhere in Google Cloud, Amazon, or OpenStack. Integration is available right out of the box with those load balancers.

This wasn’t the case with Docker Swarm, which required an external load balancer to balance the load.

8. K8s is Ideal for a Hybrid Cloud Strategy

When it first launched, K8s could only be deployed in one data center, and working in hybrid mode was not possible. Later on, Kubernetes Federation was built, which made it possible to work in a hybrid mode when with several Kubernetes clusters from different datacenters managed from a single control panel.

In fact, it is also possible to manage deployments across several clusters that are far removed from each other. You could have one cluster on Google Cloud and another on Amazon, and this will still be supported.

9. Kubernetes is Meant for Developers and Not Admins

It’s time to let the cat out of the box: to get the most out of K8s, you need to be a developer. Or at least you need to know how to think like one.

Kubernetes is centered on building applications and services. Although you may be able to operate Kubernetes clusters with relative ease, once you get past that point, things become extremely complicated for someone without the requisite training. You need to either find a developer who can help you through the process or become more familiar with the basic concepts of application development.

10. All Leading Cloud Vendors are Supporting Kubernetes

All the leading cloud service users are jumping on board the Kubernetes bandwagon. Amazon EKS makes lets you run Kubernetes on AWS. Microsoft Azure also offers the Azure container service that simplifies operation, deployment, and management of Kubernetes. Google itself, the inventor of K8s, offers the Kubernetes engine for Google Cloud Platform. Least to say, Kubernetes has all the support it needs from leading vendors.

Wrapping Up

So these were just 10 of the most important facts about Kubernetes that are food for thought. It offers flexible manifests for the easy deployment of applications that support various deployment strategies of container applications. K8s also makes it possible to implement an A/B test with a canary deployment. If you want to learn more about Kubernetes, joins our discussion in the comments below!