ConfigMap และ Secret แยกการตั้งค่าออกจาก image ของ container เพื่อให้ image เดียวกันรันได้ทั้งใน dev, staging และ production ด้วยการตั้งค่าที่ต่างกัน ConfigMap เก็บ config ที่ ไม่อ่อนไหว; Secret เก็บข้อมูล อ่อนไหว (รหัสผ่าน, token, key) และถูกจัดการอย่างระมัดระวังกว่า
แนวคิด: เอา config ออกจาก image
Image = code (immutable, build ครั้งเดียว) Config = ค่าตามแต่ละสภาพแวดล้อม
การอบ config เข้าไปใน image เป็น anti-pattern (build ใหม่ต่อสภาพแวดล้อม, secret รั่ว)
→ เก็บ config ใน ConfigMap/Secret, inject ตอน runtime เป็น env var หรือ file
