โหมดมืด
Kubernetes
ส่วนหนึ่งของ Beginner Book | ต้องผ่าน Docker Book ก่อน
Kubernetes (เรียกย่อ ๆ ว่า K8s — อ่านว่า "เค-เอทส์") = ระบบจัดการ container ข้ามหลายเครื่อง — มาตรฐานของอุตสาหกรรมในการรัน container ที่ scale จริง
💡 ทำไม "K8s"? มาจากการเอา K กับ s ที่ต้นกับปลายของ Kubernetes มาคั่นด้วยเลข 8 (จำนวนตัวอักษรตรงกลาง
ubernete) — รายละเอียดเต็มอยู่ที่บท 00
📌 เวอร์ชันที่หนังสือเล่มนี้อ้างอิง (ณ มิ.ย. 2026) — Kubernetes 1.33 เป็น current GA (ออก เม.ย. 2026); รุ่นที่ยัง supported = 1.30, 1.31, 1.32, 1.33 — ดูรุ่นล่าสุดที่ kubernetes.io/releases
หนังสือเล่มนี้พาคุณไปถึงไหน
อ่านจบ + ทำ checkpoint หมด คุณจะ:
- เข้าใจว่าทำไม Docker Compose ไม่พอ และ K8s แก้ปัญหาอะไร
- เข้าใจ architecture ของ K8s (control plane, node, etcd, ...)
- เขียน YAML manifest เป็น — Pod, Deployment, Service, Ingress
- จัดการ config, secret, storage
- ทำ health check, auto-scaling, rolling update
- เข้าใจ StatefulSet, DaemonSet, Job, CronJob
- ใช้ Helm จัดการ application
- ทำ deployment strategy (rolling, canary, blue-green)
- monitor + debug K8s ใน production
ก่อนเริ่ม — ต้องรู้อะไรก่อน
✅ Docker — ทั้ง 6 บท (docker/) — โดยเฉพาะ image, container, network, volume ✅ Linux พื้นฐาน — command line (cd, ls, cat, ดู process, แก้ไฟล์ด้วย nano/vim) ✅ YAML — รู้ว่าเยื้องด้วย space (ห้ามใช้ Tab), key-value, list (ดู docker/04 §3) ✅ HTTP / network พื้นฐาน — รู้จัก method GET/POST และ status code 200/404/500
บทเรียน
ระดับ: 🌱 = พื้นฐาน · 🌿 = ระดับกลาง · 🌳 = ระดับสูง (ดู rubric เพิ่มเติมที่ CONTRIBUTING.md §3)
| # | บท | ระดับ | เวลาโดยประมาณ | สอนอะไร |
|---|---|---|---|---|
| 0 | K8s คืออะไร + Architecture | 🌱 พื้นฐาน | 2-3 ชม. | ปัญหาที่ K8s แก้, control plane, node, etcd, kubectl |
| 1 | Pod | 🌱 พื้นฐาน | 1-2 ชม. | หน่วยเล็กที่สุด, multi-container pod, lifecycle |
| 2 | Deployment + ReplicaSet | 🌿 ระดับกลาง | 2 ชม. | จัดการ pod หลายตัว, rolling update, rollback |
| 3 | Service + Networking | 🌿 ระดับกลาง | 2-3 ชม. | ClusterIP, NodePort, LoadBalancer, DNS, network model |
| 4 | ConfigMap + Secret | 🌿 ระดับกลาง | 1-2 ชม. | แยก config ออกจาก image, จัดการความลับ |
| 5 | Storage (PV/PVC) | 🌿 ระดับกลาง | 2-3 ชม. | persistent volume, storage class, StatefulSet storage |
| 6 | Ingress | 🌿 ระดับกลาง | 1-2 ชม. | เปิดบริการสู่ภายนอก, routing, TLS |
| 7 | Health Check + Autoscaling | 🌿 ระดับกลาง | 2 ชม. | probe, HPA, resource request/limit |
| 8 | StatefulSet + DaemonSet + Job | 🌳 ระดับสูง | 2-3 ชม. | workload type ทุกชนิด |
| 9 | Helm + Deployment Strategy | 🌳 ระดับสูง | 2-3 ชม. | package manager, canary, blue-green, GitOps |
| 10 | Observability + Production | 🌳 ระดับสูง | 3 ชม. | logging, monitoring, debug, security, production checklist |
⚠️ เกี่ยวกับระดับ "สูง" ในหมวดนี้: บท 08-10 เป็น introduction tier ของหัวข้อระดับสูง — เกริ่นแนวคิด + ตัวอย่างพื้นฐาน + checklist สำหรับ junior/mid ขึ้น production crystal-clear ในระดับเข้าใจภาพรวม. ทีม ops จริง / senior ที่ต้องดูแล cluster production ยังต้องอ่าน official docs + run-book ของ cloud provider เพิ่ม โดยเฉพาะเรื่อง:
- etcd backup/restore (เอ็ต-ซีดี) — สำรอง/กู้คืนฐานข้อมูลของ cluster
- multi-AZ topology (มัลติ-เอ-แซด โท-โพ-โล-จี) — กระจาย node ข้าม availability zone (AZ = เขตพื้นที่ datacenter) เพื่อทนเครื่อง/ศูนย์ข้อมูลล่ม
- RBAC governance (อาร์-แบค = Role-Based Access Control) — กำหนดสิทธิ์ผู้ใช้/บริการแบบละเอียด
- GitOps workflow (กิต-ออปส์) — deploy ด้วยการ push Git แทนการรัน
kubectlตรง ๆ (เครื่องมือ เช่น Argo CD, Flux)- Pod Security Admission (PSA) (พ็อด ซิ-คิว-ริ-ตี แอด-มิส-ชัน) — มาตรฐาน security policy ระดับ namespace (แทน PodSecurityPolicy เดิมที่ถูกถอดออกใน K8s 1.25)
เครื่องมือที่จะใช้
💡 แนะนำเริ่มต้น: ใช้แค่
kubectl+minikubeก็พอ — บทที่ 00 จะพาติดตั้งทีละขั้น เครื่องมืออื่น ๆ ทยอยรู้จักเมื่อถึงบทที่ใช้
- kubectl — คำสั่งหลักในการคุยกับ K8s (ติดตั้ง)
- minikube — รัน K8s 1 node ใน VM/Docker บนเครื่องเรา (ติดตั้ง) — ตัวเริ่มต้นที่แนะนำ
- kind — รัน K8s ใน Docker container (ติดตั้ง) — เบา/เร็วกว่า minikube
- k3d — K3s (K8s รุ่นเล็ก) ใน Docker (ติดตั้ง) — สำหรับเครื่อง resource น้อย
- Helm — package manager ของ K8s (ติดตั้ง) — ใช้บท 09
- k9s (เสริม) — UI ใน terminal สำหรับดู cluster (ติดตั้ง)
วิธีอ่านที่แนะนำ
- ติดตั้ง minikube/kind ตั้งแต่บท 00 — ลองทุก example
- อ่านเรียงทีละบท — concept ต่อยอดกัน
- เขียน YAML เอง — อย่า copy-paste อย่างเดียว
- K8s มี concept เยอะ — อย่ารีบ อ่านช้า ๆ คิดตาม
← กลับสารบัญหลัก | ➡️ บทที่ 00: K8s คืออะไร
Glossary: ../glossary.md · Style guide: ../CONTRIBUTING.md