Understanding Kubernetes (K8s) and Its Different Uses

Raees Qazi | DevOps Engineer | Learner | Mentor | Creator | Briller Technologies

 Kubernetes (K8s) is a powerful container orchestration tool used for managing and scaling containerized applications. Let’s explore the different ways you can use Kubernetes and understand its core components.

Press enter or click to view image in full size

Ways to Use Kubernetes

  1. Local Development — If you want to practice Kubernetes on your local machine, you can use Minikube.
  2. On-Premises (Self-Hosted) — For on-prem environments, you can set up Kubernetes using Kubeadm.
  3. Cloud-based Kubernetes — Cloud providers offer managed Kubernetes services:
  • AKS (Azure Kubernetes Service) — Microsoft Azure
  • EKS (Elastic Kubernetes Service) — Amazon Web Services (AWS)
  • GKE (Google Kubernetes Engine) — Google Cloud Platform These are widely used in the industry to deploy and manage containerized applications.

4. Online Playgrounds — Platforms like Killer Koda and Kubernetes Playground provide pre-configured Kubernetes environments for practice.

What is Amazon EKS?

Amazon Elastic Kubernetes Service (EKS) is a Platform-as-a-Service (PaaS) provided by AWS. With EKS:

  • AWS manages the Kubernetes control plane.
  • You can focus on deploying and managing applications without worrying about infrastructure setup.
  • Kubernetes clusters are created on EKS to run containerized applications efficiently.

Understanding Kubernetes Clusters

Kubernetes Cluster is a group of nodes (machines) that work together. It consists of at least two machines that communicate with each other.

Origin of Kubernetes

  • Before Kubernetes, Google developed Borg in 2008, which could automatically recover failed containers and scale based on traffic.
  • Kubernetes was later introduced as an open-source version, allowing anyone to use container orchestration like Google.

Kubernetes Architecture

Kubernetes follows a master-worker architecture, consisting of:

Master Node (Control Plane)

  1. API Server — Acts as the “front desk” of Kubernetes, processing and validating requests.
  2. etcd — The database that stores all cluster-related information.
  3. Scheduler — Decides which node will run a new container based on available resources.
  4. Controller Manager — Ensures the desired cluster state by monitoring and fixing issues.
  5. Cloud Controller Manager — Helps Kubernetes interact with cloud services.
  6. kubectl — The command-line tool to interact with Kubernetes clusters.

Worker Nodes

  1. kubelet — Manages and ensures all containers are running properly.
  2. kube-proxy — Handles network communication between containers and external requests.
  3. Container Runtime — The software responsible for running containers (e.g., Docker or containerd).

How Kubernetes Runs Containers

  • Pod is the smallest unit in Kubernetes, containing one or more containers.
  • The Container Runtime (e.g., CRI-O) runs the containers inside a pod.

Communication Between Nodes

  • Container Network Interface (CNI) allows communication between master and worker nodes.

Kubernetes Hierarchy

  1. Cluster → Group of nodes.
  2. Node → A machine inside the cluster.
  3. Pod → Runs on a node and contains containers.
  4. Container Runtime → Runs the actual containers inside the pod.

By understanding these fundamental concepts, you can start working with Kubernetes effectively, whether for learning, on-premises deployment, or cloud-based solutions.

Comments

Popular posts from this blog

📘 Understanding Prometheus in a Simple Way-Part 3 (For DevOps Beginners)

Grafana Setup & Dashboard Creation (Part-5)— Explained by Raees Yaqoob Qazi

My First Python Program: A Simple Calculator