Deepesh Rastogi

2024-11-21 11:02:31
BLOG VIEWS : 1243

Education Byte : Kubernetes Basics




  • Kubernetes Basics

    Kubernetes is an open source container orchestration system for automating deployment, scaling, and management of containerized applications. It allows users to define the desired state of their application and automatically handles the deployment, scaling, and failover of containers to ensure that the desired state is maintained.

    Kubernetes supports multiple container runtimes, including Docker and CRI-O. It can run on a variety of infrastructure, including public clouds, private clouds, and bare-metal servers.

     

    Components of Kubernetes

     

    API server : The API server serves as the primary entry point for interacting with a Kubernetes cluster. This includes communication from users, management devices, and command line interfaces, which all use the API server to interface with the cluster

     

    etcd service : etcd is a distributed reliable key value store to store all data used to manage the cluster

     

    schedulers :is responsible for distributing work or containers across multiple nodes. It looks for newly created containers and assigns them to nodes

     

    controllers : controllers are components that are responsible for managing the state of the system by ensuring that the desired state of the system matches the current state

     

    container runtime: is the underlying software that is used to run containers

     

    kubelet service :Kubelet is a Kubernetes agent that runs on each node in the cluster and is responsible for managing the lifecycle of pods. It communicates with the Kubernetes API server to receive instructions on which pods to run and how to run them.

     

     

    Kubenetes Cluster Architecture

     

    A Kubernetes cluster architecture consists of a primary (control) plane and one or more nodes (worker machines). Alternatively, it could be even more if you utilize Kubernetes self-managed services like kubeadmn, kops, etc.

     

     

    Both instances can be in the cloud, in the form of virtual machines, or even physical devices. However, when it comes to managed Kubernetes architecture environments like Azure AKS, GCP GKE, and AWS EKS, the management of the control plane is done by the designated cloud provider.

    Now, when large-scale enterprises wish to perform mission-critical tasks, they’ll use Kubernetes, as it’s an open-source system for container management and a perfect solution for their needs.

     

     

    Why Kubernetes ?

     

    Scalability: Kubernetes provides the ability to scale applications up or down as needed, based on demand

     

    High availability: Kubernetes has built-in features for managing and ensuring high availability of applications, such as automatic failover and self-healing

     

    Resource efficiency: Kubernetes optimizes the use of resources by automatically scheduling containers on nodes with available resources, and by allowing multiple containers to run on the same node

     

    Portability: Kubernetes supports multiple cloud providers and on-premises environments, which allows for greater flexibility in choosing where to run your applications

     

    Service discovery and load balancing: Kubernetes provides built-in service discovery and load balancing capabilities, which make it easier to manage complex microservices architectures

     

    Configuration management: Kubernetes provides a unified way to manage configuration and secrets for containers, which simplifies the management of complex applications with multiple containers

     

    Automation: Kubernetes automates many of the tasks required to deploy and manage containerized applications, which reduces the risk of human error and speeds up the deployment process

     

     

    Kubernetes Adoption in the Enterprises

     

    Over 76,020 companies use Kubernetes cluster architecture. Most companies that use Kubernetes are from the USA working CS (Computer Software) industry.

     

     

    Some famous companies that utilize Kubernetes in their workflow include Shopify, Google, Udemy, Slack, etc.