ข้ามไปยังเนื้อหา

บล็อก

อัปเกรด Couchbase ด้วย CAO Pause Gate: ภาพรวมที่เป็นมิตรต่อการสนับสนุน

ควบคุมการอัปเกรดแบบกลิ้งโดยใช้ประตูหยุดชั่วคราวแบบเนทีฟ CAO การตรวจสอบสภาพ และการตรวจสอบที่รับรู้ XDCR

  • อ่าน 1 นาที
  • Updated

หากคุณรองรับแพลตฟอร์ม Couchbase (หรือคุณเป็นผู้ที่ได้รับเพจเมื่อไม่ทำงาน) การอัปเกรดอาจรู้สึกเหมือนเป็นตัวเลือกระหว่าง "การปล่อยมือและความหวัง" และ "ด้วยตนเองและมีความเสี่ยง" โพสต์นี้รวบรวมจุดกึ่งกลางที่ใช้งานได้จริง:ควบคุมการอัปเกรดแบบกลิ้งสำหรับเซิร์ฟเวอร์ Couchbase ที่ทำงานภายใต้Couchbase Autonomous Operator (CAO)ตามด้วยฟิลด์spec.pausedดั้งเดิมของ CAO

นี่คือใครสำหรับ

  • ฝ่ายสนับสนุนด้านเทคนิค / การตอบสนองต่อเหตุการณ์:ลักษณะ "ปกติ" ในระหว่างการปรับสมดุลการแลกเปลี่ยนและสิ่งที่ต้องถือเป็นธงสีแดง
  • SRE / วิศวกรแพลตฟอร์ม:ขั้นตอนที่ทำซ้ำได้พร้อมการตรวจสอบก่อนการบิน ประตูแช่ และทริกเกอร์ย้อนกลับ
  • วิศวกรฐานข้อมูล:ปรับสมดุลความคาดหวัง พฤติกรรม XDCR และการตรวจสอบหลังการอัพเกรด
  • Developers:สิ่งที่แพลตฟอร์มของคุณกำลังทำในช่วงการบำรุงรักษา (และสิ่งที่คุณควรแจ้งเตือน)

โทโพโลยีที่ได้รับการจัดการ CAO ทั่วไป (แนวความคิด)

แผนภาพด้านล่างนี้เป็นแผนที่ทางจิตสำหรับ Runbook: ตำแหน่งที่ผู้ปฏิบัติงานนั่งอยู่ สิ่งที่CouchbaseClusterCR ควบคุม และสัญญาณใดที่คุณควรเชื่อมโยงระหว่างการอัพเกรด

Typical Couchbase on AKS topology

แนวคิดสำคัญ: ก้าว CAO ด้วย Pause Gate

CAO ทำการอัปเกรดทีละส่วนผ่านการปรับสมดุลการสลับ Runbook เพิ่มประตูความปลอดภัยโดยเจตนา: หยุดกระทบยอดระหว่างโหนด ปรับเสถียร ตรวจสอบความสมบูรณ์ แล้วดำเนินการต่อ ด้วยวิธีนี้ หากโหนด N ทำงานผิดปกติหลังจากการสลับ คุณจะจับมันได้ก่อนที่โหนดN+1 จะเริ่มทำงาน

Paced upgrade loop

เหตุใดประตูหยุดชั่วคราวจึงคุ้มค่า

  • ความประหลาดใจน้อยลง:แยกอาการเป็นการเปลี่ยนแปลงโหนดเดียว สัญญาณ
  • Cleaner:สัมพันธ์กับเวลาแฝง อัตราข้อผิดพลาด สถานะการปรับสมดุล และความล่าช้าของ XDCR ต่อการสลับหนึ่งครั้ง
  • การเปิดตัวที่ปลอดภัยยิ่งขึ้น:หยุด “สายพานลำเลียง” อย่างรวดเร็วโดยจับspec.paused=trueไว้ในขณะที่คุณตรวจสอบ

สิ่งที่ “ดี” ดูเหมือนในระหว่างการอัปเกรด

  • รูปภาพ Pod:เก่า → ใหม่อย่างต่อเนื่อง; เป็นการดีที่จะแลกเปลี่ยนครั้งละหนึ่งรายการ
  • เฟสคลัสเตอร์:มักจะกลับไปเป็นAvailableระหว่างการแลกเปลี่ยน; คาดว่าจะมีการเปลี่ยนแปลงในช่วงสั้นๆ ระหว่างการปรับสมดุล
  • XDCR (หากเปิดใช้งาน):changes_leftเพิ่มขึ้นระหว่างการปรับสมดุล จากนั้นระบายออกระหว่างการรักษาเสถียรภาพ
  • รีสตาร์ท:พ็อดใหม่เริ่มต้นที่RESTARTS=0การเพิ่มขึ้นใดๆ ถือเป็นสัญญาณให้หยุดชั่วคราวและตรวจสอบ

การตรวจสอบก่อนบินซึ่งจะช่วยคุณในภายหลัง

ก่อนที่คุณจะแตะสิ่งใดๆ ตรวจสอบให้แน่ใจว่าคลัสเตอร์เป็นสีเขียว (ไม่มีการปรับสมดุลที่ใช้งานอยู่ ไม่มีเหตุการณ์เตือน) การสำรองข้อมูลเป็นปัจจุบันและที่กู้คืนได้ และคุณได้บันทึกแท็กรูปภาพย้อนกลับแล้ว ตัดสินใจกลยุทธ์ XDCR ของคุณล่วงหน้า: ปิดใช้งานระหว่างการอัพเกรดเพื่อให้ได้สัญญาณที่เงียบกว่าในการผลิต ดำเนินการต่อไปในขั้นตอนก่อนการผลิตเพื่อใช้พฤติกรรมจริง หรือใช้คลัสเตอร์สแตนด์บายที่สามสำหรับการตัดส่วนเชิงกลยุทธ์

ตรวจสอบความเป็นจริงของการย้อนกลับ

ความจริงที่น่าอึดอัดที่รันบุ๊กผู้ใหญ่พูดออกมาดัง ๆ: การย้อนกลับทำได้อย่างสมบูรณ์เท่านั้น ในขณะที่อย่างน้อยหนึ่งโหนดยังคงอยู่ในเวอร์ชันเก่าเมื่อทุกพ็อดถูกสลับและคลัสเตอร์ได้รับการปรับสมดุลใหม่อย่างสมบูรณ์แล้ว “ดาวน์เกรด” อาจกลายเป็น “กู้คืนจากข้อมูลสำรอง” ได้ นั่นเป็นเหตุผลว่าทำไมการเว้นจังหวะจึงมีความสำคัญ: ช่วยให้หน้าต่างย้อนกลับเปิดได้นานขึ้น

ขั้นตอนถัดไป