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