AWS EKS là gì?
AWS EKS viết tắt của Amazon Elastic Container Service for Kubernetes là dịch vụ K8S của Amazon
EKS giúp
- Không cần thiết lập control plane trên 1 node nào trong cluster
- Đảm bảo control plane và các thành phần quan trọng được HA
- Quản lý các resource trên giao diện của AWS
Kiến trúc EKS
Bao gồm:
- API Server (kube-apiserver)
- etcd
- IAM
- VPC CNI
- …
Worker node có 3 loại
- Self-manage nodes
- EKS managed nodes
- Fargate
Self-managed nodes
- Tạo worker node thử công và join vào cluster thông qua Node Group
- Node Group là 1 hoặc nhiều EC2 instance lanch trên 1 ASG và đảm bảo
- Cùng instance type
- Cùng AMI
- Cùng EKS Node Role
Managed nodes
- EKS sẽ quản lý Node Group và tự động tạo ra nếu cần
- Sử dụng Cluster Autoscaler để tự động điều chỉnh số Node trong Node Group
Fargate
- EKS sẽ tạo ra phần resource đáp ứng tương ứng vs nhu cầu mà không cần quan tâm Node nào (không thể SSH vào node)
- Không thể truy cập trực tiếp vào Fargate resource
- Fargate có các profile riêng biệt xác định cho từng loại tài nguyên trên namespace khác nhau
Ngoài lề, AWS Outpost/EKS Anywhere
- Hỗ trợ kết nối hệ thống các Node là các VM ở dưới on-premise
- AWS Outposts: Mua các thiết bị phần cứng của AWS và thiết lập tại infra của doanh nghiệp
- EKS Anywhere: Sử dụng một số tool CLI giúp phần cứng trên cơ sở hạ tầng của doanh nghiệp có thể connect và cluster
Storage
Thường dùng nhất là EBS, cái dùng thì giống Storage Class trong K8S. Chi tiết ở https://docs.aws.amazon.com/eks/latest/userguide/storage.html
QUẢNG CÁO
- EBS CSI driver
- EFS CSI driver
- FSx for Lustre CSI driver
- …
Network
- Pod network sử dụng VPC CNI plugin của AWS. Chi tiết https://docs.aws.amazon.com/eks/latest/userguide/managing-vpc-cni.html
Ekscli
- Dựa trên kubectl API để apply các thiết lập cho EKS Cluster
- ekscli có thể thay thế AWS Console Management hoặc AWS CLI
- Có thể sử dụng qua file config yaml hoặc command
Hãy theo dõi những bài tiếp theo trong chuỗi series để bắt đầu hand-on về các loại worker node trên nhé!!