Section 6: Lab: Pod, Label และ kubectl
- เขียน Manifest แบบ Declarative และใช้ kubectl apply
- Label, Selector และ Annotation สำหรับจัดกลุ่ม Resource
- Pod หลาย Container, Init Container และ Sidecar Container
- ดู Log, exec เข้า Container และ Debug ด้วย kubectl debug
- Lab: รัน Pod ของแอปตัวอย่างและแก้ปัญหา Pod ที่ล้มเหลว
Section 7: Lab: ReplicaSet และ Deployment
- ReplicaSet รักษาจำนวน Pod ตามที่กำหนดอย่างไร
- สร้าง Deployment และ Scale จำนวน Replica
- Rolling Update พร้อมกำหนด maxSurge และ maxUnavailable
- ดูประวัติและ Rollback กลับเวอร์ชันก่อนหน้า
- Lab: อัปเดตแอปโดยไม่หยุดบริการแล้วย้อนกลับเมื่อพบปัญหา
Section 8: ConfigMap, Secret และ Resource
- แยกค่าตั้งด้วย ConfigMap ส่งเป็น Environment Variable หรือไฟล์
- เก็บข้อมูลลับด้วย Secret และข้อควรระวังเรื่องการเข้ารหัส
- กำหนด Requests และ Limits ของ CPU กับ Memory และระดับ QoS
- ปรับ CPU และ Memory ของ Pod ที่รันอยู่ด้วย In-place Pod Resize
- Lab: ย้ายค่าตั้งของแอปออกจาก Image ตามหลัก Twelve-Factor
Section 9: Lab: Health Check และ Autoscaling
- Liveness, Readiness และ Startup Probe ต่างกันอย่างไร
- ติดตั้ง metrics-server และดูการใช้ทรัพยากรด้วย kubectl top
- Horizontal Pod Autoscaler ตาม CPU และ Memory
- PodDisruptionBudget เพื่อรักษาบริการระหว่างบำรุงรักษา Node
- Lab: ยิงโหลดทดสอบแล้วดู Pod ขยายและหดตามอัตโนมัติ
Section 10: Namespace, RBAC และการแบ่งทีม
- แบ่งงานของแต่ละทีมหรือแต่ละ Environment ด้วย Namespace
- ServiceAccount, Role, ClusterRole และ RoleBinding
- จำกัดทรัพยากรด้วย ResourceQuota และ LimitRange
- Pod Security Admission และ securityContext ขั้นพื้นฐาน
- Lab: สร้าง Namespace ให้ทีม Dev พร้อมสิทธิ์และโควตา