การปรับขนาดและการอัปเดตแบบทยอยใน Swarm
ปรับขนาดบริการให้ทำงานทั่ว swarm ดำเนินการอัปเดตแบบทยอยโดยไม่หยุดให้บริการ และย้อนกลับโดยอัตโนมัติเมื่อการอัปเดตผิดพลาด
การปรับขนาดและการอัปเดตแบบทยอยใน Swarm เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
บริการสามารถปรับขนาดได้
ใน Swarm บริการจะอธิบายจำนวน เรพลิกาของคอนเทนเนอร์ที่เหมือนกันตามต้องการ ตัวจัดการ Swarm จะพยายามรักษาจำนวนดังกล่าวให้ทำงานอยู่บนโหนดต่าง ๆ อย่างต่อเนื่อง
การปรับขนาดบริการ
เปลี่ยนจำนวนเรพลิกาได้ทุกเมื่อด้วย docker service scale ตัวจัดกำหนดเวลาจะกระจายงานใหม่ไปยังโหนดที่พร้อมใช้งาน
docker service scale web=5ปรับขนาดขณะสร้าง
คุณยังสามารถกำหนดจำนวนเรพลิกาขณะสร้างบริการด้วย --replicas ได้ด้วย
docker service create --name web --replicas 3 -p 80:80 nginxตรวจสอบสถานะเรพลิกา
ใช้ docker service ls เพื่อดูสรุป และใช้ docker service ps เพื่อดูงานแต่ละรายการและโหนดที่งานนั้นทำงานอยู่
docker service ps webการอัปเดตแบบทยอยคืออะไร
การอัปเดตแบบทยอยจะแทนที่เรพลิกาทีละไม่กี่รายการ เพื่อให้บริการยังคงพร้อมใช้งานตลอดกระบวนการ Swarm มีความสามารถนี้ในตัว
เรียกใช้อัปเดต
ชี้บริการไปยังอิมเมจใหม่ด้วย docker service update --image Swarm จะแทนที่งานทีละน้อยตามนโยบายการอัปเดตของคุณ
docker service update --image nginx:1.27 webควบคุมการทยอยอัปเดต
ปรับการทยอยอัปเดตด้วยการทำงานขนานและระยะหน่วง: งานจำนวนเท่าใดจะเปลี่ยนพร้อมกัน และต้องรอนานเท่าใดระหว่างแต่ละชุด
docker service update \
--update-parallelism 2 \
--update-delay 10s \
--image nginx:1.27 webการดำเนินการเมื่ออัปเดตล้มเหลว
ตั้งค่า --update-failure-action เป็น rollback เพื่อให้อัปเดตที่ล้มเหลวถูกย้อนกลับโดยอัตโนมัติ แทนที่จะปล่อยให้บริการอยู่ในสภาพใช้งานไม่ได้
docker service update \
--update-failure-action rollback \
--image nginx:1.27 webการย้อนกลับด้วยตนเอง
หากการอัปเดตทำงานผิดปกติ docker service rollback จะทำให้บริการกลับไปใช้ข้อกำหนดก่อนหน้าได้ทันที
docker service rollback webการตรวจสอบสุขภาพช่วยกำกับการอัปเดต
HEALTHCHECK ของคอนเทนเนอร์ช่วยให้ Swarm ทราบว่าเรพลิกาใหม่พร้อมใช้งานจริงหรือไม่ เมื่อทำงานร่วมกับนโยบายการอัปเดต จะช่วยป้องกันไม่ให้ส่งปริมาณการรับส่งข้อมูลไปยังงานที่มีปัญหา
HEALTHCHECK --interval=10s CMD curl -f http://localhost/ || exit 1แบบโกลบอลเทียบกับแบบจำลอง
บริการแบบจำลองจะทำงานตามจำนวนที่กำหนดไว้ ส่วนบริการแบบ โกลบอลจะทำงานหนึ่งงานพอดีต่อโหนด เหมาะสำหรับเอเจนต์ เช่น ตัวรวบรวมบันทึก การปรับขนาดใช้กับโหมดโกลบอลไม่ได้
docker service create --mode global --name agent myagentตรวจสอบอย่างรวดเร็ว
การอัปเดตแบบทยอยช่วยให้บริการยังพร้อมใช้งานได้อย่างไร
สรุป
ตอนนี้คุณสามารถดูแลบริการของ Swarm ได้อย่างมั่นใจแล้ว:
docker service scaleเปลี่ยนจำนวนเรพลิกาservice update --imageเรียกใช้การอัปเดตแบบทยอย- การทำงานขนาน ระยะหน่วง และ
--update-failure-action rollbackช่วยควบคุมความปลอดภัย service rollbackย้อนกลับการเปลี่ยนแปลง ส่วนการตรวจสอบสุขภาพจะควบคุมความพร้อม
เมื่อใช้ร่วมกัน ความสามารถเหล่านี้ทำให้สามารถนำไปใช้งานบน 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 ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “การปรับขนาดและการอัปเดตแบบทยอยใน Swarm” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม
ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- บทนำสู่ Docker Swarm
- การตั้งค่าคลัสเตอร์ Swarm
- การปรับใช้บริการใน Swarm
- การปรับขนาดและการอัปเดตแบบทยอยใน Swarm