คอนเทนเนอร์· ~14 นาที
Security — ทำให้คลัสเตอร์ปลอดภัย
NetworkPolicy, Pod security, image และ least privilege
ความปลอดภัยคลัสเตอร์เหมือนระบบรักษาความปลอดภัยตึกหลายชั้น: ประตูห้อง (NetworkPolicy), บัตรพนักงาน (RBAC), ตรวจของก่อนเข้า (image scanning), และไม่ให้ใครถือกุญแจ master โดยไม่จำเป็น (least privilege)
NetworkPolicy — ไฟร์วอลล์ระหว่าง Pod
ค่าเริ่มต้นของ K8s คือ Pod ทุกตัวคุยกันได้หมด (flat network) · NetworkPolicy ให้เราจำกัดว่า Pod ไหนคุยกับ Pod/namespace ไหนได้ — เช่น ให้เฉพาะ frontend เรียก backend, และ backend เท่านั้นที่แตะ database
จำกัดเส้นทาง: อนุญาตเฉพาะ frontend→backend→db
frontend
อนุญาต
backend
อนุญาต
database
🚫 frontend เรียก database ตรง ๆ ไม่ได้ (ถูก NetworkPolicy บล็อก)
เช็กลิสต์ความปลอดภัยที่ควรทำ
- NetworkPolicy — ปิด traffic ที่ไม่จำเป็น (default-deny แล้วเปิดเฉพาะที่ต้อง)
- RBAC least privilege — ให้ ServiceAccount สิทธิ์เท่าที่ใช้ (ทบทวนจาก M6)
- Pod Security — ห้ามรันเป็น root, ปิด privileged, ตั้ง
readOnlyRootFilesystem(ผ่าน Pod Security Standards) - Image security — ใช้ image จาก registry ที่เชื่อถือได้, สแกนช่องโหว่ (Trivy), pin เวอร์ชันไม่ใช้ latest
- Secrets — เปิด encryption at rest, ใช้ External Secrets/Vault (ทบทวนจาก M4)
สรุป Key Takeaways
- ดีฟอลต์ Pod คุยกันได้หมด — ใช้ NetworkPolicy (default-deny) จำกัดเส้นทาง
- ต้องมี CNI ที่รองรับ (Calico/Cilium) NetworkPolicy ถึงมีผล
- ซ้อนหลายชั้น: NetworkPolicy + RBAC + Pod Security + image scanning + secrets
อ่านจบแล้วอย่าลืมทำเครื่องหมาย

