Kubernetes Architecture

Introduction

  • Kubernetes, often abbreviated as K8s, is an open-source platform designed for automating the deployment, scaling, and operation of application containers.
  • Kubernetes helps manage clusters of containers, which can host applications and services. It automates the deployment, scaling, and management of containerized applications

Components:

  • In a Kubernetes cluster, the two main components are:
  1. Control Plane (Master Node)
  2. Data Plane (Worker Node)

1.Control Plane (Master Node): This is the management and control center of the Kubernetes cluster

Key Components:

  • API Server: Exposes the Kubernetes API, which is used to interact with the cluster.
  • etcd: A distributed key-value store that stores the cluster’s configuration data.
  • Controller Manager: Manages controllers responsible for maintaining the desired state of resources.
  • Scheduler: Assigns work (containers) to nodes based on resource availability and constraints.

2. Data Plane (worker Node) This is where your application container

Key Components:

  • Kubelet: Ensures containers are running in a Pod on the node.
  • Kube Proxy: Maintains network rules on the node.
  • Container Runtime: The software responsible for running containers (e.g., Docker, containerd).