ข้ามไปเนื้อหาหลัก
คอนเทนเนอร์· ~11 นาที

Namespaces — แบ่งคลัสเตอร์เป็นห้อง ๆ

จัดกลุ่มทรัพยากร แยกทีม/สภาพแวดล้อม และจำกัดโควตา

เปรียบเทียบให้เห็นภาพ

Namespace เหมือนการกั้นห้องในออฟฟิศเปิดโล่ง — ทีม A ทีม B อยู่คนละห้อง ตั้งชื่อของซ้ำกันได้ (เช่นมี Service ชื่อ web ได้ทั้งสองห้อง) และคุมงบ/สิทธิ์แยกห้องได้

Namespace คือการแบ่งคลัสเตอร์เดียวเป็นพื้นที่เสมือนหลายส่วน · ใช้แยก environment (dev/staging/prod), แยกทีม, หรือแยกลูกค้า พร้อมกำหนดโควตาและสิทธิ์ต่อ namespace

คลัสเตอร์เดียว แบ่งเป็นหลายห้อง (namespace)

ns: dev
web
api
ns: staging
web
api
ns: prod
web
api

ชื่อ web/api ซ้ำข้ามห้องได้ · คุมงบ/สิทธิ์แยกแต่ละห้อง

คลัสเตอร์เดียวแบ่งเป็นหลาย namespace · ชื่อ resource ซ้ำข้าม namespace ได้ · ResourceQuota คุมงบต่อห้อง
kubectl create namespace staging
kubectl get pods -n staging          # ดู Pod ใน namespace staging
kubectl get pods -A                  # ทุก namespace
kubectl config set-context --current --namespace=staging  # ตั้งค่าเริ่มต้น
ทำงานกับ namespace

สรุป Key Takeaways

  • Namespace = แบ่งคลัสเตอร์เดียวเป็นพื้นที่เสมือน (แยกทีม/env/ลูกค้า)
  • ชื่อ resource ซ้ำข้าม namespace ได้ · เรียกข้าม namespace ต้องเติม .<ns>
  • คุมงบด้วย ResourceQuota และตั้ง default ด้วย LimitRange
อ่านจบแล้วอย่าลืมทำเครื่องหมาย