The need for Kubernetes in DevOps
Image credit: Dev Community (found image from google search)

The need for Kubernetes in DevOps

Why Kubernetes in DevOps?

In today’s marketplace, Containers have become the definitive way to develop applications because they provide packages that contain everything you need to run your application. Pretty much every big organization has moved from the traditional old approach and has started using Containers for deployment. As much as we need Docker for creating an image, the need for Kubernetes in DevOps World is increasing rapidly.

Most of us must have heard about the Pokémon Go Game, their engineers never thought that there will be an exponential increase in user base. How they were able to manage and scale so efficiently? The answer is Kubernetes.

Let us take an example of Uber Cabs, which we use in our day-to-day life How do they manage their application to be always running, during the peak hours when the number of users (traffic) increases, how it is able to scale up? The answer is Kubernetes.

Kubernetes is a popularly known Containerization management orchestration tool. It manages the availability, scaling, and networking of the containers, monitoring the clusters, and managing the timing of container creation.

Kubernetes is the most famous Container Orchestration tool according to google trends.

No alt text provided for this image

  • Automatic Bin Packing: Placing containers automatically based on the required resources and constraints, without impairing the availability.
  • Self- Healing: Containers that fail are automatically restarted, when a node dies containers are rescheduled and replaced, also those containers which do not respond, kills the container.
  • Storage Orchestration: Mounting of storage system as per the requirement is done automatically whether it may be from a public cloud or from a local a storage.
  • Horizontal Scaling: Applications can be scaled up and down, as per the requirement.
  • Batch Execution: In addition to services, Kubernetes can manage your batch and CI workload as well as replacing containers that fails.

Kubernetes Architecture:

No alt text provided for this image

Image credit: K21 Academy (found from google search)

 Let’s go through Kubernetes Architecture, this is what the architecture of Kubernetes looks like, In the image we can see API Servers which is actually the brain of Kubernetes, so if we want to deploy an application through Kubernetes the only utility we talk to is API Servers, that’s the component that decides where to deploy things , which things are working and many more.

  Scheduler: As the name suggest ,this component is responsible whatever API Server asks  or requests , that work is done by scheduler, to be more specific let’s say we have an image of an application that needs to be deployed through Kubernetes , so we write a yaml file which have bunch of code in it and then we execute that file through API Server so the API Serve will decide where it need to be deployed whether in server 1, 2, or 3, once the decision has been made the request is forwarded to scheduler, to schedule the deployment.So the logical decisions are made by API Servers and execution is made by scheduler.

Controller Manger: Once the deployment is done by scheduler , it forwards it to controller manager. The work of controller manager is to monitor that our desired state is equal to monitored state. Incase if any server crashed or one of your container crashed, controller manager will send the information to API server and API server will re-deicide where to deploy it and the process goes on.

Etcd: we can imagine it as as store , database where Kubernetes knows lot of information about the servers within cluster , things like what is the size of server , what is the ram of server

Pods: In Kubernetes we never see a container alone running in isolation, it is always wrapped within pod layer , pod provides run time  environment for our container. They are smallest possible things that we can create in Kubernetes, pods act as an encapsulator or host  to a container, a single pod can have many containers.

Kublet : API Servers will be interacting with the kublet for deploying the container

cAdvisor: means container Runtime.

Kube-Proxy: Network connection between the containers and User, this component will take care for networks of container.

Sajal Golas

Staff Engineer @ Okta || Tech With Humour || Ex-Walmart || 15K+ || 15M+ Imp || Web3 || Azure || GCP || AWS || DevOps || Kubernetes || HFT || Distributed Systems || Big Data || DataOps || MLOPS || Security || Trainer

2y

Nice article Megha 👏🏼

To view or add a comment, sign in

More articles by Megha Kadur

  • Hackathon Hacks: Tools and Technologies That Made Our Event a Success

    Hackathon Hacks: Tools and Technologies That Made Our Event a Success

    Megha Kadur - Sr. Software Engineer • Content Security Engineer Participating in Barracuda’s recent 2024 hackathon…

  • WTH is DevSecOps?

    WTH is DevSecOps?

    We are in a fast-changing world today, where most of our task is carried out through a click of a button or just tap on…

    1 Comment
  • WTH is DevSecOps?

    WTH is DevSecOps?

    We are in a fast-changing world today, where most of our task is carried out through a click of a button or just tap on…

    3 Comments
  • Understanding a Helm Chart!

    Understanding a Helm Chart!

    When a chart is applied to your cluster a release is created. A chart is nothing but the collection of files.

  • DevOps Automation using Google Deployment Manager

    DevOps Automation using Google Deployment Manager

    What is Infrastructure as code? Infrastructure as code is a concept that is important in this DevOps world, it…

  • How to write YAML file for Kubernetes

    How to write YAML file for Kubernetes

    What is YAML? YAML is a human readable data-serialization language. It is easy to understand and because of its…

    1 Comment
  • Skills for becoming a DevOps Engineer

    Skills for becoming a DevOps Engineer

    We usually come across various posts for job opportunities in the IT industry, and you all might agree that in our…

    2 Comments
  • Docker Basic Commands - Part 02

    Docker Basic Commands - Part 02

    Steps to install Docker: Below is the link for docker installation, that is provided by Docker, we have clear…

  • Getting Started with Docker – Part 01

    Getting Started with Docker – Part 01

    Introduction to Docker Consider a real-life scenario where we are trying to ship goods from one location to another…

    2 Comments
  • How to create Microsoft Azure Custom Marketplace Extension?

    How to create Microsoft Azure Custom Marketplace Extension?

    Prerequisites and Dependencies : Azure DevOps Organization Node.JS(Version.

    1 Comment

Insights from the community

Others also viewed

Explore topics