Kubernetes and It’s Use Cases
Greetings Everyone!!! Merry Christmas and A Happy New Year!! I hope you all are doing well and good.
In this blog, I will be explaining What is Kubernetes? Why we use it? How has the industry been benefited from Kubernetes? So let’s get started…
We haven’t imagined, and many are still unaware that we can launch an OS in just a command and a few seconds. Yes, it is possible due to container technology.
Container Technologies is a recent trend in the IT market and has been implemented by many companies in recent years. It started in 1979 on a Linux version. Container technology is the method of packaging an application to be run with isolated dependencies. They have fundamentally altered the development of software today due to their compartmentalization of a computer system. It is just a container that has been packed with standardization and keeping the items together to run, with its dependencies, isolated from other processes.
Some of the container technology examples that help achieve container technology are Docker, Podman, CoreOS RKT, OpenShift, Mesos Containerizer, OpenVZ, CRIO, etc.
We can run more than a hundred OS from a single system using container technology. The OS launched is called the container. The container needs a base operating system to launch.
Now the question comes here if we are launching 100 OS, then who will be looking after all the OS? We cannot check on every OS if they work or not, so we have some container managing technology Kubernetes.
Kubernetes is an open-source, portable, extensible technology that helps us deploy, manage, and scan the container. The best thing is it is also an automated technology, so we don’t need to check everything manually. It wraps all the containers in a pod and then manages them. They all are shared with shared resources and local networks. Kubernetes offer various services like zero downtime, fault tolerance, and persistent storage of all the OS.
Some Vocabulary in Kubernetes
These are some of the term used in Kubernetes and its services:
Control Pane: It includes all the process that is being used to control all the nodes. The tasks originate here.
Nodes: These are the machines that do the tasks which have been assigned by the control pane.
Pods: They are the bunch of containers deployed in the nodes. Pods have their own environment where they share their resources and IP address.
Replication Controller: To provide a smooth delivery, Kubernetes has a replication controller that checks how many identical copies of a pod should be running somewhere on the cluster.
Kubelet: This service runs on nodes and checks and ensures that the container is started and running.
kubectl: The command-line configuration tool for Kubernetes.
How Kubernetes Works?
In a nutshell, Kubernetes has one master and one several workers nodes. For using the Kubernetes services, we need to have a client. To configure a system as a client, we can use a “kubectl” program that provides us with a Command Line Interface. Using “kubectl,” we can launch containers, pods, and we can even delete them and replicate them.
We can manually setup the Kubernetes Master node(server), or we can get some software like Minikube, EKS to configure the master node. When a Kube API-server receives a client request to a Kubernetes cluster, the request. It then processes the request, which is assigned to a particular worker node for execution. In the Master node, the Kube Scheduler is responsible for selecting a particular worker node that will execute a particular request.
How is Kubernetes used in Industries?
Here are some of the big companies that use Kubernetes technology and how they have solved their problems using it.
Adidas is a German-based design company that manufactures clothes, shoes, and accessories. Recently the Adidas team was having trouble accessing all of the tools and technology. For instance, “just to get a developer VM, you had to send a request form, give the purpose, give the title of the project, who’s responsible, give the internal cost center a call so that they can do recharges,” says Daniel Eichten, Senior Director of Platform Engineering. “The best case is you got your machine in half an hour. Worst case is half a week or sometimes even a week.”
So as a solution, they started to shorten all the time they were taking for the whole process. They started using container technology, continuous delivery, and cloud platform, which includes Kubernetes and Prometheus.
Spotify is a Swedish based audio streaming company and media service, provider. Having 200 million+ users worldwide, they want their customers to have an immersive listening experience. “Our goal is to empower creators and enable a really immersive listening experience for all of the consumers that we have today — and hopefully the consumers we’ll have in the future,” says Jai Chakrabarti, Director of Engineering, Infrastructure, and Operations. They started adapting to Docker and other microservices the small team was having trouble working on, giving them trouble.
As a solution, they started using Kubernetes, and they were able to add velocity and even reduce the cost while using the best practice and tools. Even the Spotify team was happy to expertise and influence in the growing Kubernetes community. They even said, “Before, teams would have to wait for an hour to create a new service and get an operational host to run it in production, but with Kubernetes, they can do that on the order of seconds and minutes.”
Bose is a USA based audio equipment seller company established in 1964 as demands were growing for the products they need to change their infrastructure as their growth. We needed to provide a mechanism for developers to rapidly prototype and deploy services all the way to production pretty fast,” says Lead Cloud Engineer Josh West. The company decided to build their platform from scratch, and they want to be one step forward than others as they plan to launch everything in Cloud.
They wanted a microservers architecture, and after experimenting, they started using Kubernetes to scale their IoT PaaS running in AWS Cloud. The platform, which also incorporated Prometheus monitoring, serves over 3 million connected products from the get-go.
From the beginning, the team knew it wanted a microservices architecture. After evaluating and prototyping a couple of orchestration solutions, the team decided to adopt Kubernetes for its scaled IoT Platform-as-a-Service running on AWS. The platform, which also incorporated Prometheus monitoring, launched in production in 2017, serving over 3 million connected products from the get-go. Bose has since adopted several other CNCF technologies, including Fluentd, CoreDNS, Jaeger, and OpenTracing.
In the end, Kubernetes is a beneficial technology for managing containers, and many other companies like Nokia, Huwai, The New York Times, IBM, and many more use it. There are so many things we can do with Kubernetes in the world of containerization.
Thank You for your time. Have a Good Day.