Skip to content

Eks

Kubernetes

  • Run containers in reliable performnt way
  • Kubernetes is cloud agnostic
  • A Kubernetes cluster is a highly available cluster of compute resources
  • Cluster Control Plane manages scheduling, application scaling & deployment
  • Basic unit of compute is a cluster node.
  • A node has containerd or docker for handling container operations
  • Kubelet runs on each of the node & communicates with Control Plane
  • Pods are smallest units of computing. Pods can have multiple containers with shared storage and networking.
  • One container one pod architecture is common
  • Pods are considered as temporary. A user usually does no manage pods
  • Control Plane runs kube-apiserver. This is what nodes and other cluster elements interact with. It can be scaled horizontally
  • etcd provides highly available name value store . It is the main backing data store of a cluster
  • kube-scheduler identifies any pods within the cluster with no node assigned & assigns them to a node . This can be horizontally scaled
  • cloud-controller-manager allows Control Plane to interact with cloud providers
  • kube-controller-manager is a collection of proceses. These are node controller which monitors & responds to node outages, Jobs Contoller responsible for managin pods to run one off jobs, EndPoint Controller which populates endpoints i.e. assigns services to pods & Service Account Token Controller which is responsible for account and API token creation
  • Every node runs kube-proxy. It co-ordinates networkin with Control Plane
  • Service is abstraction which runs one or more pods.
  • Jobs are ad-hoc one time execution tasks
  • Ingress exposes a way into a service & Ingress conroller provides ingress
  • Storage within Kubernetes is ephimeral
  • Persistent Storage or Persistent Volumes (PV) live beyond lifecycle of 1 pod

EKS

  • AWS managed Kubernetes service
  • EKS can run on AWS, Outposts, EKS Anywhere(On Premises), EKS Distro
  • Kubernetes Control Plane is managed by AWS and scales in multiple AZs
  • EKS Cluster = EKS Control Plane + EKS Nodes
  • ETCD is managed by AWS & distributed across multiple AZs
  • Nodes can be self managed , managed node groups or Fargate pods
  • For persistent storage EKS can use EBS, EFS and ESX
  • EKS deployment consists of 2 VPCs
  • An AWS Managed VPC where control plane runs across multiple AZs
  • A Customr Managed VPC where worked nodes run
  • Control Plane ENIs are injected into customer VPC