You are viewing a free preview of this lesson.
Subscribe to unlock all 10 lessons in this course and every other course on LearningBro.
Amazon Elastic Kubernetes Service (EKS) is a managed Kubernetes service that makes it easy to run Kubernetes on AWS without installing, operating, or maintaining your own Kubernetes control plane. If your team already uses Kubernetes or you need the portability and ecosystem that Kubernetes provides, EKS is the AWS service for you.
Kubernetes (often abbreviated as K8s) is an open-source container orchestration platform originally designed by Google. It automates deploying, scaling, and managing containerised applications.
+-----------------------------------------------------------+
| Kubernetes Cluster |
| |
| +---------------------+ |
| | Control Plane | |
| | +-----------+ | |
| | | API Server| | +------------------------+ |
| | +-----------+ | | Worker Node 1 | |
| | +-----------+ | | +------+ +------+ | |
| | | Scheduler | | | | Pod | | Pod | | |
| | +-----------+ | | +------+ +------+ | |
| | +-----------+ | | [kubelet] [kube-proxy] | |
| | | etcd | | +------------------------+ |
| | +-----------+ | |
| | +-----------+ | +------------------------+ |
| | | Controller| | | Worker Node 2 | |
| | | Manager | | | +------+ +------+ | |
| | +-----------+ | | | Pod | | Pod | | |
| +---------------------+ | +------+ +------+ | |
| | [kubelet] [kube-proxy] | |
| +------------------------+ |
+-----------------------------------------------------------+
| Concept | Description |
|---|---|
| Pod | The smallest deployable unit — one or more containers that share networking and storage |
| Deployment | Manages a set of identical Pods, handling rolling updates and rollbacks |
| Service | A stable network endpoint that routes traffic to a set of Pods |
| Namespace | A virtual cluster within a cluster for organising resources |
| ConfigMap | Stores non-sensitive configuration as key-value pairs |
| Secret | Stores sensitive data (passwords, tokens) encrypted at rest |
| Ingress | Manages external HTTP/HTTPS access to services |
| PersistentVolumeClaim | Requests persistent storage for Pods |
The hardest part of running Kubernetes is operating the control plane — keeping the API server, etcd database, scheduler, and controller manager running, updated, and highly available. EKS manages all of this for you.
| Component | Self-Managed Kubernetes | Amazon EKS |
|---|---|---|
| API Server | You install, configure, and scale | Managed by AWS across 3 AZs |
| etcd | You manage backups, availability, and upgrades | Managed by AWS, automatically backed up |
| Scheduler | You configure and maintain | Managed by AWS |
| Controller Manager | You configure and maintain | Managed by AWS |
| Worker Nodes | You provision and manage | You manage (EC2) or use Fargate |
| Kubernetes upgrades | You perform the upgrade process | AWS handles control plane upgrades; you upgrade nodes |
| High availability | You configure multi-AZ | Built in — control plane spans 3 AZs |
EKS offers three options for running worker nodes:
AWS provisions and manages EC2 instances for you:
aws eks create-nodegroup \
--cluster-name my-cluster \
--nodegroup-name my-nodes \
--node-role arn:aws:iam::123456789012:role/eksNodeRole \
--subnets subnet-aaa subnet-bbb \
--instance-types t3.medium \
--scaling-config minSize=2,maxSize=10,desiredSize=3
Advantages:
You create and manage your own EC2 instances and register them with the EKS cluster.
When to use:
Run Pods on Fargate without managing any nodes at all:
Subscribe to continue reading
Get full access to this lesson and all 10 lessons in this course.