Friday, November 13, 2026

Kubernetes cluster on AWS

How would a typical kubernets cluster on AWS look like? Which are all the components? 


 

2. Explanation of each component

Component

Responsibility

Why Kubernetes needs it

etcd

Distributed key-value database

Stores Kubernetes cluster state, including Deployments, Pods, Services, Secrets, and configurations

Kubernetes API Server

Main Kubernetes API endpoint

Receives requests from kubectl, Helm, controllers, and other clients

Controller Manager

Runs Kubernetes reconciliation controllers

Ensures actual cluster state converges toward desired state

Scheduler

Decides which node should run a Pod

Considers resources, node affinity, taints, tolerations, and scheduling constraints

Cilium CNI

Container networking and network policies

Provides Pod networking, routing, and network-policy enforcement

AWS Cloud Controller Manager

Integrates Kubernetes with AWS infrastructure

Handles cloud-specific node and load-balancer integration

AWS Node Termination Handler

Handles AWS instance interruption events

Helps gracefully drain nodes before supported termination events

EBS CSI Driver

Connects Kubernetes storage to AWS EBS

Dynamically provisions and attaches persistent block storage

CoreDNS

DNS service inside Kubernetes

Resolves Kubernetes Service names such as postgres.myapp.svc.cluster.local

kOps Controllers

Manage or reconcile kOps-specific cluster resources

Help maintain the cluster infrastructure and its configuration

One distinction: kOps is a Kubernetes cluster provisioning and lifecycle tool, while its in-cluster controllers perform more specific management functions. The exact responsibilities depend on which kOps components you have installed.

No comments:

Post a Comment