เรียน Kubernetes ตั้งแต่ศูนย์จนใช้งานจริง
หลักสูตรภาษาไทย อธิบายแบบเปรียบเทียบให้เห็นภาพก่อน แล้วค่อยลงเทคนิค · มี diagram, ตัวอย่าง YAML อธิบายทีละบรรทัด, lab ที่รันเองได้บน minikube/kind และ simulation เล่นได้จริง — เหมาะกับคนที่มีพื้น K8s น้อยมาก
พื้นฐานคอนเทนเนอร์
ปูพื้นฐาน Containerization และ Docker สำหรับ DevOps, เปรียบเทียบ VM กับ Kubernetes Orchestration
- Container คืออะไร (และต่างจาก VM ยังไง)กล่องเล็ก ๆ ที่ห่อแอปพร้อมทุกอย่างที่มันต้องใช้ ให้รันเหมือนกันทุกที่ · ~12 นาที
- Image, Dockerfile และ Registryสร้างกล่องด้วย Dockerfile เก็บ/แชร์กล่องผ่าน registry · ~14 นาที
- ทำไมแค่ Docker ไม่พอ — ต้องมี Orchestratorพอ container เยอะขึ้น การจัดการด้วยมือกลายเป็นฝันร้าย · ~12 นาที
- Kubernetes ทำอะไรได้บ้าง (ภาพรวม)สรุปความสามารถหลัก 5 อย่างของ K8s ก่อนลงลึก · ~10 นาที
สถาปัตยกรรม K8s และ kubectl
สถาปัตยกรรม Kubernetes (Control Plane & Worker Node) และการใช้งาน kubectl แบบ Declarative
- ภาพรวมคลัสเตอร์: สมอง กับ กล้ามเนื้อControl plane สั่งการ, Worker node ลงมือทำ · ~12 นาที
- ส่วนประกอบของ Control PlaneAPI server, etcd, Scheduler, Controller Manager ทำหน้าที่อะไร · ~14 นาที
- ส่วนประกอบของ Worker Nodekubelet, container runtime, kube-proxy บนเครื่องที่รัน Pod จริง · ~11 นาที
- kubectl และแนวคิด Declarativeสั่งงานคลัสเตอร์ด้วย kubectl และไฟล์ YAML manifest · ~15 นาที
- ติดตั้ง kubectl และสร้างคลัสเตอร์แรกเตรียมเครื่องให้พร้อมทำ lab — minikube / kind / ออนไลน์ไม่ต้องติดตั้ง · ~16 นาที
- Pod แรกของคุณ (+ Lab)หน่วยเล็กที่สุดที่ K8s รัน — เขียน YAML แล้ว deploy จริง · ~18 นาที
Workloads
Kubernetes Workloads: การสร้าง Pod, ReplicaSet, Deployment, Rolling Update และ Auto-healing
- จาก Pod เดี่ยว สู่ ReplicaSetทำไมต้องมีตัวเฝ้าให้ Pod ครบจำนวนเสมอ · ~13 นาที
- Deployment — หน่วยหลักในการรันแอปห่อ ReplicaSet ให้ได้ทั้ง self-healing, scaling และจัดการเวอร์ชัน · ~16 นาที
- Rolling Update และ Rollback (+ Lab)อัปเดตเวอร์ชันแบบไม่ให้เว็บล่ม และย้อนกลับได้เมื่อพัง · ~18 นาที
- Labels และ Selectorsระบบป้ายกำกับที่ K8s ใช้เชื่อมทุกอย่างเข้าด้วยกัน · ~12 นาที
- Scaling และ Self-Healing ในทางปฏิบัติ (+ Lab)สเกลขึ้นลงด้วยมือ และพิสูจน์ว่า K8s กู้ Pod ที่หายไปจริง · ~15 นาที
Networking และ Service
Kubernetes Networking: LoadBalancer, ClusterIP, NodePort, DNS Discovery และ Ingress Controller
- ทำไม Pod IP เชื่อถือไม่ได้ — ต้องมี ServicePod เกิด-ดับตลอด IP เปลี่ยนเรื่อย ๆ Service ให้ที่อยู่คงที่ · ~12 นาที
- ประเภทของ Service (ClusterIP / NodePort / LoadBalancer)เลือกวิธีเปิดให้เข้าถึงจากในคลัสเตอร์หรือจากภายนอก · ~15 นาที
- DNS และ Service Discovery ในคลัสเตอร์เรียก service ด้วยชื่อแทน IP ผ่าน DNS ภายใน · ~11 นาที
- Ingress — ประตูหน้าเดียวสู่หลาย Serviceroute HTTP ตาม host/path เข้าหลาย service ด้วย LB ตัวเดียว · ~15 นาที
- ต่อภาพเครือข่ายทั้งหมด (+ Lab)frontend → Service → backend + เปิดสู่ภายนอกด้วย Ingress · ~16 นาที
Config และ Storage
Kubernetes Config & Storage: จัดการ ConfigMap, Secret, Persistent Volume (PV/PVC) และ StatefulSet
- ConfigMap — แยกค่าตั้งค่าออกจาก imageเปลี่ยน config โดยไม่ต้อง build image ใหม่ · ~13 นาที
- Secret — เก็บข้อมูลลับรหัสผ่าน, token, cert แยกจาก config ทั่วไป · ~12 นาที
- Volumes — ที่เก็บข้อมูลของ Podephemeral vs persistent และทำไม container ต้องมี volume · ~12 นาที
- PersistentVolume, PVC และ StorageClassขอที่เก็บถาวรแบบไม่ต้องรู้ว่าดิสก์จริงอยู่ที่ไหน · ~15 นาที
- StatefulSet — workload ที่มี identity (+ Lab)ฐานข้อมูล/คิวที่แต่ละ Pod ต้องมีชื่อและ storage คงที่ · ~15 นาที
Scheduling และ Resources
Kubernetes Scheduling: จัดสรร Resource Requests/Limits, Health Probes, Node Affinity และ Taints
- Requests และ Limits — จองและจำกัดทรัพยากรบอก K8s ว่า Pod ต้องการเท่าไร และห้ามใช้เกินเท่าไร · ~14 นาที
- Probes — ตรวจสุขภาพ Podliveness / readiness / startup บอก K8s ว่า Pod พร้อมหรือป่วย · ~14 นาที
- เลือก node ให้ Pod: nodeSelector และ Affinityบังคับ/แนะนำว่า Pod ควรไปอยู่ node แบบไหน · ~13 นาที
- Taints และ Tolerations — กัน Pod ออกจาก nodeทำเครื่องหมาย node ให้รับเฉพาะ Pod ที่ได้รับอนุญาต · ~12 นาที
- ประกอบร่างการจัดสรร (+ Lab)ตั้ง resources + probes แล้วดูพฤติกรรม scheduler · ~14 นาที
Scaling และ Operations
Kubernetes Operations: การทำ HPA Auto-scaling, RBAC Security, Namespaces และ Observability
- HPA — สเกล Pod อัตโนมัติตามโหลดเพิ่ม/ลดจำนวน Pod เองตาม CPU หรือเมตริก · ~14 นาที
- Namespaces — แบ่งคลัสเตอร์เป็นห้อง ๆจัดกลุ่มทรัพยากร แยกทีม/สภาพแวดล้อม และจำกัดโควตา · ~11 นาที
- RBAC — ใครทำอะไรได้บ้างควบคุมสิทธิ์ผู้ใช้และ Pod ด้วย Role/RoleBinding · ~14 นาที
- Observability — มองเห็นสิ่งที่เกิดในคลัสเตอร์logs, events, metrics และเครื่องมือที่ใช้จริง · ~12 นาที
- ดูแลคลัสเตอร์ในทางปฏิบัติ (+ Lab)ตั้ง HPA + สร้างโหลด แล้วเฝ้าดูการสเกล · ~14 นาที
Advanced และ EKS
Advanced Kubernetes & Amazon EKS: จัดการคลัสเตอร์ด้วย Helm, Operators, GitOps (ArgoCD) และ Service Mesh
- Helm — ตัวจัดการแพ็กเกจของ K8sติดตั้งชุด manifest ทั้งก้อนแบบปรับค่าได้ ด้วยคำสั่งเดียว · ~14 นาที
- Operators และ CRD — ต่อขยาย K8s เองสอน K8s ให้รู้จัก resource ใหม่ และดูแลมันอัตโนมัติ · ~13 นาที
- GitOps ด้วย ArgoCDใช้ Git เป็นแหล่งความจริงเดียว คลัสเตอร์ sync ตามอัตโนมัติ · ~14 นาที
- Service Mesh — เครือข่ายชั้นสูงระหว่าง servicemTLS, traffic routing, observability โดยไม่แตะโค้ดแอป · ~12 นาที
- Security — ทำให้คลัสเตอร์ปลอดภัยNetworkPolicy, Pod security, image และ least privilege · ~14 นาที
- Amazon EKS — K8s แบบ managed บน AWSปิดหลักสูตรด้วยการเชื่อม K8s เข้ากับโลก AWS · ~16 นาที
Workshop: Video Pipeline แบบ YouTube
โปรเจกต์จับมือทำ end-to-end: อัปโหลดวิดีโอ → แปลงไฟล์ด้วย K8s Job + FFmpeg → เก็บลง MinIO → เสิร์ฟ VOD เป็น HLS ผ่าน Ingress ปิดท้ายด้วยการแพ็กเป็น Helm chart แยก env dev/prod
- ภาพรวมโปรเจกต์ + เตรียมเครื่องมือรู้จักสถาปัตยกรรมทั้งระบบที่กำลังจะสร้าง และติดตั้งเครื่องมือให้พร้อม · ~15 นาที
- FFmpeg + HLS 101 — แปลงวิดีโอด้วยมือก่อนเข้าใจว่า HLS คืออะไร แปลงไฟล์เองด้วย FFmpeg แล้วเปิดเล่นในเบราว์เซอร์ · ~25 นาที
- สร้าง Upload API ด้วย Node.js + Dockerเขียน API รับอัปโหลดไฟล์วิดีโอ ทดสอบด้วย curl แล้วห่อเป็น container · ~30 นาที
- MinIO — Object Storage แบบ S3 ในเครื่องเรารู้จัก object storage รัน MinIO ด้วย compose แล้วให้ API เก็บไฟล์ลง bucket · ~25 นาที
- ยกทั้งระบบขึ้น kind clusterสร้าง cluster, Secret, MinIO StatefulSet + PVC และ API Deployment + Service · ~35 นาที
- แปลงไฟล์ด้วย K8s Job + ให้ API สั่งงานเอง (RBAC)สร้างอิมเมจ transcoder, ทดสอบ Job ด้วยมือ แล้วให้ API สร้าง Job อัตโนมัติผ่าน RBAC · ~40 นาที
- เสิร์ฟ VOD ผ่าน Ingress + หน้าเว็บ playerติดตั้ง ingress-nginx เปิด bucket ให้อ่านได้ และสร้างหน้าเว็บอัปโหลด+ดูวิดีโอครบวงจร · ~30 นาที
- ทดสอบ End-to-End, Debug ให้เป็น และโจทย์ต่อยอดไล่เช็คทั้ง pipeline อย่างเป็นระบบ ฝึกแก้ปัญหาที่เจอบ่อย และรับโจทย์ท้าทายขั้นถัดไป · ~25 นาที
- แพ็กทั้งระบบเป็น Helm Chartเขียน Helm chart ของตัวเองจาก manifests ที่มีอยู่ ติดตั้ง/อัปเกรด/ย้อนกลับทั้งระบบด้วยคำสั่งเดียว · ~40 นาที
- แยก environment: dev/prod บน cluster เดียวด้วย valuesรัน pipeline สองชุด (dev/prod) จาก chart เดียวกัน แยกด้วย namespace + Ingress host และให้ Helm hook ตั้งค่า bucket อัตโนมัติ · ~35 นาที
เส้นทางถัดไป (กำลังทยอยเปิด)
Workshop: Live Streaming Platform
ต่อยอดจาก VOD pipeline สู่ live streaming — รับสัญญาณสดจาก OBS ผ่าน RTMP (MediaMTX), แปลงสดเป็น HLS, ทำ stream key authentication และ scale ตามจำนวนผู้ชม
~6 บทเรียน · เร็ว ๆ นี้

