k8s Usecase

Prince Prashant Saini
3 min readMar 14, 2021

Kubernetes (aka k8s or “kube”) is an open source container management platform that automates many of the manual processes involved in deploying, managing, and scaling containerized applications.

In other words, you can cluster together groups of hosts running Linux® containers, and Kubernetes helps you easily and efficiently manage those clusters.

What can you do with Kubernetes? 🤔

Kube can help you with :

✔ Orchestrate containers across multiple hosts.

✔ Make better use of hardware to maximize resources needed to run your enterprise apps.

✔ Control and automate application deployments and updates.

✔ Mount and add storage to run stateful apps.

✔ Scale containerized applications and their resources on the fly.

✔ Declaratively manage services, which guarantees the deployed applications are always running the way you intended them to run.

✔ Health-check and self-heal your apps with autoplacement, autorestart, autoreplication, and autoscaling.

Breaking the surface of K8s

understanding basic terms and functions

Control plane: The collection of processes that control Kubernetes nodes. This is where all task assignments originate. Something like main dashboard.

Nodes: These machines perform the requested tasks assigned by the control plane. heart of k8s.

Pod: A group of one or more containers deployed to a single node. All containers in a pod share an IP address, IPC, hostname, and other resources. Pods abstract network and storage from the underlying container. This lets you move containers around the cluster more easily. main workers

Replication controller: This controls how many identical copies of a pod should be running somewhere on the cluster. supervisor

Service: Kubernetes service proxies automatically get service requests to the right pod — no matter where it moves in the cluster or even if it’s been replaced.

Kubelet: This service runs on nodes, reads the container manifests, and ensures the defined containers are started and running.

kubectl: The command line configuration tool for Kubernetes.

Enough of theoretical knowledge , lets see how industry uses K8s.

Case Study of BOSE 🎧

Problems faced by BOSE developers : Bose has offered connected products for more than five years, and as that demand grew, the infrastructure had to change to support it. “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. In 2016, the company decided to start building a platform from scratch. The primary goal: “To be one to two steps ahead of the different product groups so that we are never scrambling to catch up with their scale,” says Cloud Architecture Manager Dylan O’Mahony.

Every problem comes with a solution : 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.

Result/Impact : With about 100 engineers onboarded, the platform is now enabling 30,000 non-production deployments across dozens of microservices per year. In 2018, there were 1250+ production deployments. Just one production cluster holds 1,800 namespaces and 340 worker nodes. “We had a brand new service taken from concept through coding and deployment all the way to production, including hardening, security testing and so forth, in less than two and a half weeks,” says O’Mahony.

--

--