Docker Swarm

Swarm คืออะไร

  • Swarn คือ เครื่อง cluster ของ Docker หรือ nodes ต่างๆ ที่สามารถเข้าถึงได้ไม่ว่าจะอยู่ที่ไหน
    • Docker Engine ใช้คำสั่งผ่าน CLI (Command Line Interface) และ API (Application Programming Interface) ในการจัดการ swarm nodes เช่น เพิ่ม-ลบ nodes ต่างๆ และสามารถอัพเดท และมีบริการ orchestrate สำหรับ swarm
  • สามารถเปิดใช้งาน swarm mode เพื่อเริ่มต้นการทำงานแบบ swarm หรือเข้าไปทำงานกับ swarm ที่มีอยู่
    • เมื่อทำการรัน Docker โดยที่ไม่ได้ใช้ swarm mode จะต้องใช้ command line ในการป้อนคำสั่ง
    • เมื่อทำการรัน Docker โดยใช้ swarm mode จะใช้บริการ orchestrate ทันที
  • สามารถรัน swarm service และ container มันสามารถทำงานด้วยตัวมันเองได้ บน Docker ตัวเดียวกัน

Docker Swarm Features

  • การจัดการ cluster ที่ใช้ร่วมกันกับ Docker Engine
  • Decentralized design (การออกแบบที่แบ่งการทำงาน)
  • Declarative service model
  • Scaling (การปรับขนาดอัตโนมัติ)
  • Desired state reconciliation (ตรวจสอบความต้องการของระบบ)
  • Multi-host networking (Host มีหลายตัว)
  • Load balancing (กระจาย Request จาก User แต่ละคนไปยัง Server)
  • Secure by default (เน้นด้านความปลอดภัยเป็นหลัก)
  • Rolling updates (มีการอัพเดตตลอด)

Node คืออะไร

  • Node เป็น instance ของ Docker engine ที่อยู่ใน swarm
  • สามารถรัน node ได้มากกว่า 1 หรือ node อื่นๆในคอมพิวเตอร์ที่อยู่ในระดับ OS เดียวกัน หรือจะอยู่ใน Cloud Server แต่การใช้งาน swarm นั้นจะประกอบด้วย Docker node อยู่มากมาย ซึ่งจะถูกกระจายอยู่ในเครื่องคอมพิวเตอร์และบนระบบคลาวด์อีกหลายๆที่
  • มี node อยู่ 2 แบบ
    • โหมดการจัดการ
    • โหนดการทำงาน