serial และการทำงานเป็นชุดแบบทยอย
ทยอยนำการเปลี่ยนแปลงออกใช้เป็นระลอกอย่างปลอดภัย
serial และการทำงานเป็นชุดแบบทยอย เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
ทำพร้อมกันทั้งหมดมีความเสี่ยง
การอัปเดตเซิร์ฟเวอร์ทุกเครื่องในครั้งเดียวทำได้รวดเร็ว แต่การเปลี่ยนแปลงที่ไม่ดีอาจทำให้ ทั้งระบบ ของคุณหยุดทำงานพร้อมกัน การอัปเดตแบบทยอยจึงช่วยหลีกเลี่ยงปัญหานี้ได้
ทำความรู้จัก serial
คีย์เวิร์ด serial กำหนดให้เพลย์ทำงานกับโฮสต์เป็นชุด ๆ แทนการทำงานพร้อมกันทั้งหมด โดยอัปเดตโฮสต์ส่วนหนึ่งก่อน แล้วจึงไปยังชุดถัดไป
- hosts: web
serial: 2ตัวเลขกำหนดขนาดชุด
กำหนดตัวเลขให้กับ serial แล้วแต่ละชุดจะมีโฮสต์ตามจำนวนนั้น เมื่อใช้ serial 2, Ansible จะทำเพลย์กับโฮสต์สองเครื่องจนเสร็จทั้งหมด ก่อนดำเนินการกับเครื่องที่เหลือ
ใช้เปอร์เซ็นต์
เปอร์เซ็นต์จะปรับตามขนาดของกลุ่มโฮสต์ โดย serial: 25% จะอัปเดตโฮสต์หนึ่งในสี่ของทั้งหมดในแต่ละรอบ ไม่ว่าคุณจะมีเซิร์ฟเวอร์ 8 เครื่องหรือ 800 เครื่อง
serial: 25%เพิ่มขนาดทีละขั้นด้วยรายการ
ส่งรายการเพื่อเพิ่มขนาดชุดเมื่อมีความมั่นใจมากขึ้น โดยเริ่มจากโฮสต์หนึ่งเครื่องแล้วจึงเพิ่มจำนวน นี่คือรูปแบบคลาสสิกที่เริ่มจากการทดสอบกับโฮสต์ตัวแทน แล้วจึงนำไปใช้กับทั้งหมด
serial:
- 1
- 5
- 25%ทำเพลย์ทั้งหมดในแต่ละชุด
สิ่งสำคัญคือ serial จะทำเพลย์ทั้งหมดกับชุดหนึ่งให้เสร็จก่อนจึงไปยังชุดถัดไป ดังนั้นชุดแรกจะเสร็จสมบูรณ์ในขณะที่โฮสต์ชุดหลังยังไม่ได้เริ่มทำงาน
หยุดอย่างรวดเร็วด้วย max_fail_percentage
ใช้ serial คู่กับ max_fail_percentage เพื่อยกเลิกการนำไปใช้ หากโฮสต์ในชุดเดียวกันล้มเหลวมากเกินไป ช่วยหยุดการเปลี่ยนแปลงที่มีปัญหาก่อนจะแพร่ไปยังโฮสต์อื่น
- hosts: web
serial: 25%
max_fail_percentage: 30นำออกจากระบบก่อนดำเนินการ
การทำงานแต่ละรอบอย่างปลอดภัยจะนำแต่ละชุดออกจากตัวกระจายโหลดก่อน จากนั้นจึงใช้การเปลี่ยนแปลง แล้วนำโฮสต์กลับเข้าไป เพื่อไม่ให้ผู้ใช้เข้าถึงเซิร์ฟเวอร์ที่กำลังอัปเดต
รักษาบริการให้ทำงานต่อเนื่อง
เนื่องจากชุดอื่นยังคงให้บริการทราฟฟิกอยู่ การอัปเดตแบบทยอยจึงทำให้เกิดการหยุดให้บริการเป็นศูนย์ แอปจึงยังพร้อมใช้งานตลอดการนำไปใช้
serial ทำงานร่วมกับ forks
ภายในแต่ละชุด forks ยังคงควบคุมการทำงานแบบขนาน โดย serial จำกัดจำนวนโฮสต์ที่แต่ละรอบจะเข้าไปดำเนินการ ส่วน forks จำกัดจำนวนโฮสต์ที่ทำงานพร้อมกันภายในรอบนั้น
ทดสอบกับเครื่องเดียวก่อน
การเริ่มต้นด้วย serial: 1 จะทำให้โฮสต์แรกเป็นโฮสต์ตัวแทนสำหรับทดสอบ หากเกิดปัญหา การทำงานจะหยุดตรงนั้น และโฮสต์ที่เหลือจะยังคงทำงานได้ตามปกติ
ตรวจสอบสั้น ๆ
คุณต้องการอัปเดตเว็บเซิร์ฟเวอร์ 100 เครื่องทีละไม่กี่เครื่อง โดยไม่ให้เกิดการหยุดให้บริการ
สรุป
ใช้ serial เพื่อทยอยนำการเปลี่ยนแปลงไปใช้เป็นชุด ๆ เพิ่มขนาดชุดด้วยรายการ และเพิ่ม max_fail_percentage เพื่อหยุดได้ตั้งแต่เนิ่น ๆ นี่คือการนำไปใช้โดยไม่หยุดให้บริการ 🌊
คำถามที่พบบ่อย
บทเรียน “serial และการทำงานเป็นชุดแบบทยอย” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “serial และการทำงานเป็นชุดแบบทยอย” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “serial และการทำงานเป็นชุดแบบทยอย”
ทยอยนำการเปลี่ยนแปลงออกใช้เป็นระลอกอย่างปลอดภัย คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “serial และการทำงานเป็นชุดแบบทยอย” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม
ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- forks และการปรับจูนการทำงานแบบขนาน
- กลยุทธ์: linear, free และ host_pinned
- การทำ Pipeline ผ่าน SSH และการใช้การเชื่อมต่อซ้ำ
- serial และการทำงานเป็นชุดแบบทยอย