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.

Ways to Use Kubernetes
- Local Development — If you want to practice Kubernetes on your local machine, you can use Minikube.
- On-Premises (Self-Hosted) — For on-prem environments, you can set up Kubernetes using Kubeadm.
- 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
A 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)
- API Server — Acts as the “front desk” of Kubernetes, processing and validating requests.
- etcd — The database that stores all cluster-related information.
- Scheduler — Decides which node will run a new container based on available resources.
- Controller Manager — Ensures the desired cluster state by monitoring and fixing issues.
- Cloud Controller Manager — Helps Kubernetes interact with cloud services.
- kubectl — The command-line tool to interact with Kubernetes clusters.
Worker Nodes
- kubelet — Manages and ensures all containers are running properly.
- kube-proxy — Handles network communication between containers and external requests.
- Container Runtime — The software responsible for running containers (e.g., Docker or containerd).
How Kubernetes Runs Containers
- A 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
- Cluster → Group of nodes.
- Node → A machine inside the cluster.
- Pod → Runs on a node and contains containers.
- 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
Post a Comment