Kubernetes Mastery : Day 1

Prakhar Gandhi
Google Cloud - Community
3 min readApr 24, 2024

Hi , Welcome to Kubernetes Troubleshooting mastery;
Well, working as a Devops engineer recently has been a ride with twist and turns but i learnt things the other way round, and a big shout out and thank you to those who helped me understand the things in a much easier and sophisticated way;
So, hereby, i am writing a set of medium articles which are obviously written by me, but at times will be shown as AI, but again troubleshooting and Google LLM , i believe them completely;
So, Lets start the clusters and Systems with a splash of workflows with a formal intro to Kubernetes Mastery and troubleshooting things across devops;

Architecture Overview and Components:

Kubernetes follows a decentralized architecture designed for managing containerized applications across a cluster of nodes. At its core, Kubernetes abstracts the underlying infrastructure, providing a unified platform for deploying, scaling, and managing container workloads. The architecture consists of two primary components:

  1. Control Plane (Master):

The Control Plane, known as the master, oversees the cluster’s state and coordinates various operations. It comprises several components collaborating to make decisions about scheduling, scaling, and maintaining application health. Key components of the Control Plane include:

  • API Server: Serves as the primary management interface for Kubernetes, handling requests from users, administrators, and controllers.
  • Scheduler: Assigns pods to nodes based on resource requirements, affinity rules, and constraints.
  • Controller Manager: Monitors the cluster’s state and ensures the desired user-defined state is maintained.
  • etcd: Consistent and highly available distributed key-value store used as Kubernetes’ backing store for cluster data.

2. Node Components:

Nodes are the worker machines in a Kubernetes cluster where containers run. Each node hosts multiple pods, which are the smallest deployable units in Kubernetes. Node components manage pod execution and provide essential services for running applications. Key components include:

  • Kubelet: An agent on each node responsible for communicating with the Control Plane, managing pods, and reporting node status.
  • Container Runtime: Software responsible for running containers, like Docker or containerd.
  • Kube Proxy: Maintains network rules on nodes, enabling communication between pods and services within the cluster.

Component Interaction: Control Plane components communicate with each other and with nodes through the Kubernetes API server. Administrators and users interact with the Kubernetes cluster primarily via the API server using tools like kubectl. The Scheduler schedules pods onto suitable nodes based on resource requirements. Nodes report their status to the Control Plane via Kubelet, maintaining the desired pod state. Kube Proxy facilitates network communication between pods, services, and external clients.

Scalability and High Availability: Kubernetes is designed for scalability and high availability, allowing clusters to scale dynamically in response to workload changes. Control Plane components are typically replicated for redundancy and fault tolerance. etcd provides data persistence and consistency across Control Plane nodes, enabling cluster state recovery in case of failures.

Understanding Kubernetes’ architecture and components is essential for troubleshooting and optimizing cluster performance.

Well i guess this solves the major understanding part now;

I hope you got a clear understanding of Kubernetes Architecture now.

Feel free to ask questions if you find some.

--

--

Prakhar Gandhi
Google Cloud - Community

Google Developer Educator for Jetpack Compose | Google Cloud Innovator | Geek | Cybersecurity | Code | Strategy