Kubernetes : A Container Management Tool and Its Use-Case

Tribhuban Mishra
4 min readMar 9, 2021

--

Kubernetes is an open source container orchestration platform that automates many of the manual processes involved in deploying, managing, and scaling containerized applications.It is also known as k8s or kube.It was originally designed by Google and is now maintained by the Cloud Native Computing Foundation . It aims to provide a platform for automating deployment, scaling, and operations of application containers across clusters of hosts.

There are four ways to provisioning of operating system :-

  1. Bare-Metal — OS is directly launched on top of computer physical hardwere.
  2. Virtualisation — It create an abstraction layer over computer hardware that allows the hardware elements of a single computer’s processors, memory, storage and more to be divided into multiple virtual computers, commonly called virtual machines.
  3. Cloud computing — It is on-demand delivery of computing service like storage,RAM ,CPU etc. over the internet where we can launch our operating system.
  4. Containerization — A container is a standard unit of software that packages up code and all its dependencies, so the application runs quickly and reliably from one computing environment to another.Containers allow developers to deploy their applications faster and keep development agile all the while ensuring continuous delivery.we can launch OS within few seconds using containerization technology.Docker,podman ,CRI-O etc. are the tools that create, deploy, and run applications by using container technology.

Why use Kubernetes??

Containers are a good way to bundle and run your applications. In a production environment, we always need to manage the containers that run the applications and ensure that there is no downtime. For example, if a container goes down, another container needs to start.It wouldn’t be easier to handle the container manually.

That’s how Kubernetes comes to the rescue! With the rise of containers comes the challenge of having to manage hundreds or even thousands of containers running complex enterprise applications. This is a significant task that requires an orchestration platform. Kubernetes has become the go-to orchestration platform since it was launched in 2014.

Kubernetes provides you with a framework to run distributed systems resiliently. It takes care of scaling and failover for your application, provides deployment patterns, and more. For example, Kubernetes can easily manage a canary deployment for your system.

Kubernetes Architecture

Kubernetes is structured according to the so-called master-slave architecture. The master component controls the nodes on which the containers run. The Kubernetes architecture includes:

  • Kubernetes Master: The Kubernetes Master is the central control element that distributes and manages the containers on the nodes. To achieve high availability, several masters can be distributed.
  • Nodes: A node, also called a worker machine or minion, can be a virtual machine (VM) or a physical server. The pods run on the nodes.
  • Pods: Pods are the smallest deployable unit. They contain one or more containers that share the allocated resources.
  • etcd: The etcd stores the configurations of the Kubernetes cluster and thus represents the key value database. The communication with the etcd manages Kubernetes via the API server.
  • API server: The API server contains all the information of the etcd, making it one of the most important components of Kubernetes. Via REST interfaces, for example, it communicates with all internal and external services of the Kubernetes Cluster.
  • kube-scheduler: The kube-scheduler monitors and manages the utilization of the nodes by deciding on the basis of the resources on which node a pod starts.
  • Controller Manager: The Controller Manager contains all control mechanisms and is therefore an essential component for monitoring. It communicates with the API server to read and write all statuses.

Feature Of Kubernetes :

  • Automated Scheduling
  • Self-Healing Capabilities
  • Automated rollouts & rollback
  • Horizontal Scaling & Load Balancing
  • Offers environment consistency for development, testing, and production
  • Infrastructure is loosely coupled to each component can act as a separate unit
  • Provides a higher density of resource utilization
  • Offers enterprise-ready features
  • Application-centric management
  • Auto-scalable infrastructure
  • You can create predictable infrastructure

The New York Times’s Journey to Kubernetes

Today the majority of the NYT’s customer-facing applications are running on Kubernetes. What an amazing story. The biggest impact has been an increase in the speed of deployment and productivity. Legacy deployments that took up to 45 minutes are now pushed in just a few. It’s also given developers more freedom and fewer bottlenecks. The New York Times has gone from a ticket-based system for requesting resources and weekly deploy schedules to allowing developers to push updates independently.

Sources :-

Thanks for giving Your valuable time……

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

No responses yet

Write a response