0Pricing
DevOps Bootcamp · บทเรียน

การปรับใช้บริการใน Swarm

ปรับใช้และขยายแอปพลิเคชันในคอนเทนเนอร์เป็นบริการบนคลัสเตอร์ Swarm พร้อมจัดการวงจรชีวิตของบริการ

การปรับใช้บริการใน Swarm เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน

บริการ Docker Swarm คืออะไร

ใน Docker Swarm บริการคือคำจำกัดความของวิธีที่คุณต้องการเรียกใช้แอปพลิเคชันในคอนเทนเนอร์ทั่วทั้งคลัสเตอร์

แทนที่จะเรียกใช้คอนเทนเนอร์แต่ละรายการ คุณจะกำหนดบริการเพื่อบอก Swarm ว่า "ฉันต้องการเรียกใช้อินสแตนซ์ X รายการจากอิมเมจนี้ บนพอร์ตเหล่านี้ และด้วยการตั้งค่าเหล่านี้"

จากนั้น Swarm จะดูแลให้สถานะที่ต้องการคงอยู่ โดยเริ่มคอนเทนเนอร์ใหม่โดยอัตโนมัติหากคอนเทนเนอร์เดิมล้มเหลว

การปรับใช้บริการใน Swarm — ภาพประกอบ 1

บริการกับคอนเทนเนอร์

ลองนึกภาพดังนี้

  • คอนเทนเนอร์คืออินสแตนซ์เดียวของแอปพลิเคชัน
  • บริการคือแบบร่างสำหรับเรียกใช้คอนเทนเนอร์ที่เหมือนกันหนึ่งรายการขึ้นไป (เรียกว่า งาน) ทั่วทั้ง Swarm

บริการช่วยให้มีความพร้อมใช้งานสูงและปรับขนาดได้ โดยกระจายงานและจัดการความล้มเหลวโดยอัตโนมัติ

การปรับใช้บริการแรกของคุณ

คำสั่ง docker service create ใช้สำหรับปรับใช้แอปพลิเคชันเป็นบริการในคลัสเตอร์ Swarm ของคุณ มาสร้างบริการเซิร์ฟเวอร์เว็บ Nginx แบบง่ายกัน

ลองเรียกใช้ตัวอย่างนี้

docker service create \
  --name my-web-app \
  -p 80:80 \
  --replicas 1 \
  nginx

ทำความเข้าใจการสร้างบริการ

มาดูรายละเอียดคำสั่งที่เราเพิ่งใช้กัน

  • --name my-web-app: ตั้งชื่อที่จดจำได้ง่ายให้บริการ
  • -p 80:80: แมปพอร์ต 80 บนโหนด Swarm ไปยังพอร์ต 80 ภายในคอนเทนเนอร์
  • --replicas 1: บอกให้ Swarm ดูแลให้อินสแตนซ์ที่กำลังทำงานของบริการนี้มีหนึ่งรายการ (งาน)
  • nginx: ระบุอิมเมจ Docker ที่จะใช้สำหรับงานของบริการ

การตรวจสอบบริการของคุณ

หลังจากสร้างบริการแล้ว คุณควรตรวจสอบสถานะและดูงานที่กำลังทำงานอยู่ ใช้คำสั่งเหล่านี้

  • docker service ls: แสดงรายการบริการทั้งหมดใน Swarm
  • docker service ps <service_name>: แสดงงานแต่ละรายการ (คอนเทนเนอร์) ที่เชื่อมโยงกับบริการ
docker service ls
docker service ps my-web-app

การเพิ่มขนาดบริการของคุณ

ประโยชน์สำคัญประการหนึ่งของ Docker Swarm คือการปรับขนาดได้ง่าย คุณสามารถเพิ่มจำนวนอินสแตนซ์ที่กำลังทำงาน (แบบจำลอง) ของบริการได้ด้วยคำสั่งเดียว

มาปรับขนาด my-web-app เป็นแบบจำลองสามรายการกัน

docker service scale my-web-app=3

การลดขนาดบริการของคุณ

เช่นเดียวกัน คุณสามารถลดขนาดบริการเพื่อใช้ทรัพยากรน้อยลงหรือจัดการปริมาณการรับส่งข้อมูล Swarm จะหยุดคอนเทนเนอร์ส่วนเกินอย่างเรียบร้อย โดยยังคงให้คอนเทนเนอร์ที่เหลือทำงานต่อ

มาลดขนาด my-web-app กลับเหลือแบบจำลองหนึ่งรายการกัน

docker service scale my-web-app=1

การอัปเดตบริการ

เมื่อคุณต้องการปรับใช้แอปพลิเคชันเวอร์ชันใหม่หรือเปลี่ยนการตั้งค่าบริการ docker service update จะดำเนินการ อัปเดตแบบทยอย Swarm จะอัปเดตงานทีละรายการ เพื่อให้แอปพลิเคชันยังคงพร้อมใช้งาน

มาอัปเดตบริการ Nginx ของเราเป็นเวอร์ชันที่ระบุไว้กัน

docker service update --image nginx:1.25 my-web-app

การนำบริการออก

เมื่อไม่จำเป็นต้องใช้บริการอีกต่อไป คุณสามารถนำบริการนั้นออกจาก Swarm ได้ การดำเนินการนี้จะหยุดงานที่เกี่ยวข้องทั้งหมดและลบคำจำกัดความของบริการออกจากคลัสเตอร์

หากต้องการนำบริการเว็บตัวอย่างของเราออก

docker service rm my-web-app

แบบทดสอบการจัดการบริการ

คุณมีบริการชื่อ my-backend ที่กำลังทำงานด้วยแบบจำลอง 3 รายการและใช้อิมเมจ my-backend:v1 คุณต้องอัปเดตให้ใช้อิมเมจใหม่ my-backend:v2 และเพิ่มจำนวนแบบจำลองเป็น 5 รายการ

ทบทวน: บริการ Swarm

ทำได้ดีมาก คุณได้เรียนรู้พื้นฐานสำคัญของการปรับใช้และจัดการแอปพลิเคชันในรูปแบบบริการบน Docker Swarm แล้ว

  • บริการกำหนดสถานะที่ต้องการสำหรับแอปพลิเคชันในคอนเทนเนอร์
  • คุณได้เรียนรู้การสร้างบริการด้วย docker service create
  • เราได้ครอบคลุมการตรวจสอบ การปรับขนาด (docker service scale) และการอัปเดต (docker service update) บริการ
  • สุดท้าย คุณสามารถนำบริการออกได้ด้วย docker service rm

บริการเป็นพื้นฐานสำคัญสำหรับการสร้างแอปพลิเคชันที่ปรับขนาดได้และทนทานในคลัสเตอร์ Swarm

คำถามที่พบบ่อย

บทเรียน “การปรับใช้บริการใน Swarm” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การปรับใช้บริการใน Swarm” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การปรับใช้บริการใน Swarm”

ปรับใช้และขยายแอปพลิเคชันในคอนเทนเนอร์เป็นบริการบนคลัสเตอร์ Swarm พร้อมจัดการวงจรชีวิตของบริการ คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “การปรับใช้บริการใน Swarm” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม

ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. บทนำสู่ Docker Swarm
  2. การตั้งค่าคลัสเตอร์ Swarm
  3. การปรับใช้บริการใน Swarm
  4. การปรับขนาดและการอัปเดตแบบทยอยใน Swarm
← กลับไปที่ DevOps Bootcamp