Amazon EKS
- Managed Kubernetes Service
- Elastic container service for Kubernetes makes it easy to deploy, manage and scale containerized applications using k8s on AWS
- runs the Kubernetes management infrastructure for you across multiple AWS availability zones to eliminate a single point of failure
Why managed version of Kubernetes?
- Reduces workload to manage k8s applications
- makes it easy for you to run Kubernetes on AWS without needing to stand up or maintain your own Kubernetes control plane
Interfaces to AWS EKS
- AWS Console
- CLI
- can use kubectl to communicate with your cluster
- SDK
EKS Cluster
- First step is to create EKS cluster
- which is Kubernetes Control plane
- provision control plane instances in AWS service account (not customer account) in multiple availability zones
- EKS is by default Highly Available (HA)
- cluster is configurable e.g. define name of cluster, k8s version, IAM role, vpc subnets etc.
- AWS EKS automatically detects and replaces unhealthy control plane instances, and it provides automated version upgrades and patching for them
- Launch EC2 worker nodes that register with the Amazon EKS cluster
AWS EKS Integrations
- Elastic Load Balancing for load distribution (Scalability)
- IAM for authentication (Security)
- Amazon VPC for isolation Security)
- use all the existing plugins and tooling from the Kubernetes community (Extensible)
Networking
- Pod Networking
- Network policy engine for k8s
EKS Security
UI Dashboard
Logging/Monitoring
- AWS EKS is integrated with CloudTrail and logs actions taken by user and activity calls
Resources