Amazon EKS — K8s แบบ managed บน AWS
ปิดหลักสูตรด้วยการเชื่อม K8s เข้ากับโลก AWS
พื้นฐานที่ควรรู้: การรัน Kubernetes ด้วยตัวเองตั้งแต่ศูนย์ เป็นเรื่องที่ยากมาก เพราะต้องดูแลเซิร์ฟเวอร์หลัก (Control Plane) ให้ทำงานได้ตลอดเวลาไม่ให้ล่ม คลาวด์ต่างๆ จึงมีบริการประเภท Managed K8s เพื่อช่วยแบ่งเบาภาระในส่วนที่ยากนี้ออกไป
EKS เหมือนเช่าคลัสเตอร์ K8s แบบมีทีมช่างดูแล control plane ให้ — AWS จัดการ API server/etcd (ส่วนที่ยากและต้อง HA) ให้ ส่วนเราโฟกัสที่ worker node และแอปของเรา
Amazon EKS (Elastic Kubernetes Service) คือ K8s ที่ AWS ดูแล control plane ให้ (patch, HA, scaling ของ control plane) · เรายังคงใช้ kubectl และ manifest เดิมทุกอย่าง — สิ่งที่เรียนมาทั้งหลักสูตรใช้ได้หมด
AWS ดูแล control plane · เราดูแล worker + แอป
kubectl และ manifest เดิมใช้ได้หมด — K8s วางบนโครงสร้าง AWS ที่เรียนมา
EKS เชื่อม K8s กับบริการ AWS ยังไง
- Worker nodes — เป็น EC2 (จัดการเองหรือ managed node group) หรือ Fargate (serverless ไม่ต้องดูแล node)
- Service type LoadBalancer → สร้าง AWS ELB/NLB จริงให้ (ผ่าน AWS Load Balancer Controller → ALB สำหรับ Ingress)
- PVC + StorageClass → ผูกกับ EBS/EFS จริง (ทบทวนจาก M4)
- IRSA (IAM Roles for Service Accounts) — ผูก ServiceAccount ของ Pod กับ IAM role เพื่อเรียกบริการ AWS (S3, DynamoDB) อย่างปลอดภัย
- Cluster Autoscaler / Karpenter — เพิ่ม/ลด EC2 node ตามจำนวน Pod ที่ Pending
สรุป Key Takeaways
- EKS = managed K8s ที่ AWS ดูแล control plane ให้ · ใช้ kubectl/manifest เดิมทั้งหมด
- เชื่อม K8s เข้ากับ AWS: node เป็น EC2/Fargate, Service→ELB, PVC→EBS/EFS, IRSA→IAM
- EKS(K8s มาตรฐาน) vs ECS(ของ AWS ง่ายกว่า) · Fargate = serverless compute
- ก้าวต่อไป: สร้าง EKS จริง + GitOps + สอบ CKA
คำถามที่พบบ่อย
EKS จัดการอะไรให้ อะไรยังเป็นหน้าที่เรา
AWS ดูแล control plane ให้ทั้งหมด (API server, etcd, HA ข้าม AZ) ส่วนเรายังดูแล: worker node (เลือกใช้ managed node group หรือ Fargate), networking add-on, การอัปเกรดเวอร์ชัน (ทั้ง control plane และ node), RBAC และความปลอดภัยของ workload — จ่ายค่า control plane รายชั่วโมง + ค่าเครื่องตามปกติ
Pod บน EKS จะใช้สิทธิ์ AWS (เช่น อ่าน S3) ยังไงให้ถูกวิธี
ใช้ IRSA (IAM Roles for Service Accounts) หรือ Pod Identity รุ่นใหม่ — ผูก IAM role กับ ServiceAccount ให้เฉพาะ pod นั้นได้ credential ชั่วคราว — ห้ามใช้วิธีแปะ role ที่ node เพราะทุก pod บนเครื่องจะได้สิทธิ์เท่ากันหมด ซึ่งกว้างเกินไป
Karpenter คืออะไร ต่างจาก Cluster Autoscaler ยังไง
ทั้งคู่เพิ่มเครื่องเมื่อ pod ไม่มีที่ลง แต่ Karpenter (ของ AWS) ฉลาดกว่า: เลือก instance type ที่พอดีกับ pod ที่รอจริงจากหลายร้อยแบบ (รวม Spot), จัด bin-packing และรวบเครื่องเมื่อว่าง — เป็นตัวเลือกหลักบน EKS ยุคนี้แทน CA แบบ node group เดิม

