อัปเกรด Couchbase ด้วย CAO Pause Gate: ภาพรวมที่เป็นมิตรต่อการสนับสนุน
ควบคุมการอัปเกรดแบบกลิ้งโดยใช้ประตูหยุดชั่วคราวแบบเนทีฟ CAO การตรวจสอบสภาพ และการตรวจสอบที่รับรู้ XDCR
หากคุณรองรับแพลตฟอร์ม Couchbase (หรือคุณเป็นผู้ที่ได้รับเพจเมื่อไม่ทำงาน) การอัปเกรดอาจรู้สึกเหมือนเป็นตัวเลือกระหว่าง "การปล่อยมือและความหวัง" และ "ด้วยตนเองและมีความเสี่ยง" โพสต์นี้รวบรวมจุดกึ่งกลางที่ใช้งานได้จริง:ควบคุมการอัปเกรดแบบกลิ้งสำหรับเซิร์ฟเวอร์ Couchbase ที่ทำงานภายใต้Couchbase Autonomous Operator (CAO)ตามด้วยฟิลด์spec.pausedดั้งเดิมของ CAO
นี่คือใครสำหรับ
- ฝ่ายสนับสนุนด้านเทคนิค / การตอบสนองต่อเหตุการณ์:ลักษณะ "ปกติ" ในระหว่างการปรับสมดุลการแลกเปลี่ยนและสิ่งที่ต้องถือเป็นธงสีแดง
- SRE / วิศวกรแพลตฟอร์ม:ขั้นตอนที่ทำซ้ำได้พร้อมการตรวจสอบก่อนการบิน ประตูแช่ และทริกเกอร์ย้อนกลับ
- วิศวกรฐานข้อมูล:ปรับสมดุลความคาดหวัง พฤติกรรม XDCR และการตรวจสอบหลังการอัพเกรด
- Developers:สิ่งที่แพลตฟอร์มของคุณกำลังทำในช่วงการบำรุงรักษา (และสิ่งที่คุณควรแจ้งเตือน)
โทโพโลยีที่ได้รับการจัดการ CAO ทั่วไป (แนวความคิด)
แผนภาพด้านล่างนี้เป็นแผนที่ทางจิตสำหรับ Runbook: ตำแหน่งที่ผู้ปฏิบัติงานนั่งอยู่ สิ่งที่CouchbaseClusterCR ควบคุม และสัญญาณใดที่คุณควรเชื่อมโยงระหว่างการอัพเกรด
แนวคิดสำคัญ: ก้าว CAO ด้วย Pause Gate
CAO ทำการอัปเกรดทีละส่วนผ่านการปรับสมดุลการสลับ Runbook เพิ่มประตูความปลอดภัยโดยเจตนา: หยุดกระทบยอดระหว่างโหนด ปรับเสถียร ตรวจสอบความสมบูรณ์ แล้วดำเนินการต่อ ด้วยวิธีนี้ หากโหนด N ทำงานผิดปกติหลังจากการสลับ คุณจะจับมันได้ก่อนที่โหนดN+1 จะเริ่มทำงาน
เหตุใดประตูหยุดชั่วคราวจึงคุ้มค่า
- ความประหลาดใจน้อยลง:แยกอาการเป็นการเปลี่ยนแปลงโหนดเดียว สัญญาณ
- Cleaner:สัมพันธ์กับเวลาแฝง อัตราข้อผิดพลาด สถานะการปรับสมดุล และความล่าช้าของ XDCR ต่อการสลับหนึ่งครั้ง
- การเปิดตัวที่ปลอดภัยยิ่งขึ้น:หยุด “สายพานลำเลียง” อย่างรวดเร็วโดยจับ
spec.paused=trueไว้ในขณะที่คุณตรวจสอบ
สิ่งที่ “ดี” ดูเหมือนในระหว่างการอัปเกรด
- รูปภาพ Pod:เก่า → ใหม่อย่างต่อเนื่อง; เป็นการดีที่จะแลกเปลี่ยนครั้งละหนึ่งรายการ
- เฟสคลัสเตอร์:มักจะกลับไปเป็น
Availableระหว่างการแลกเปลี่ยน; คาดว่าจะมีการเปลี่ยนแปลงในช่วงสั้นๆ ระหว่างการปรับสมดุล - XDCR (หากเปิดใช้งาน):
changes_leftเพิ่มขึ้นระหว่างการปรับสมดุล จากนั้นระบายออกระหว่างการรักษาเสถียรภาพ - รีสตาร์ท:พ็อดใหม่เริ่มต้นที่
RESTARTS=0การเพิ่มขึ้นใดๆ ถือเป็นสัญญาณให้หยุดชั่วคราวและตรวจสอบ
การตรวจสอบก่อนบินซึ่งจะช่วยคุณในภายหลัง
ก่อนที่คุณจะแตะสิ่งใดๆ ตรวจสอบให้แน่ใจว่าคลัสเตอร์เป็นสีเขียว (ไม่มีการปรับสมดุลที่ใช้งานอยู่ ไม่มีเหตุการณ์เตือน) การสำรองข้อมูลเป็นปัจจุบันและที่กู้คืนได้ และคุณได้บันทึกแท็กรูปภาพย้อนกลับแล้ว ตัดสินใจกลยุทธ์ XDCR ของคุณล่วงหน้า: ปิดใช้งานระหว่างการอัพเกรดเพื่อให้ได้สัญญาณที่เงียบกว่าในการผลิต ดำเนินการต่อไปในขั้นตอนก่อนการผลิตเพื่อใช้พฤติกรรมจริง หรือใช้คลัสเตอร์สแตนด์บายที่สามสำหรับการตัดส่วนเชิงกลยุทธ์
ตรวจสอบความเป็นจริงของการย้อนกลับ
ความจริงที่น่าอึดอัดที่รันบุ๊กผู้ใหญ่พูดออกมาดัง ๆ: การย้อนกลับทำได้อย่างสมบูรณ์เท่านั้น ในขณะที่อย่างน้อยหนึ่งโหนดยังคงอยู่ในเวอร์ชันเก่าเมื่อทุกพ็อดถูกสลับและคลัสเตอร์ได้รับการปรับสมดุลใหม่อย่างสมบูรณ์แล้ว “ดาวน์เกรด” อาจกลายเป็น “กู้คืนจากข้อมูลสำรอง” ได้ นั่นเป็นเหตุผลว่าทำไมการเว้นจังหวะจึงมีความสำคัญ: ช่วยให้หน้าต่างย้อนกลับเปิดได้นานขึ้น
ขั้นตอนถัดไป
- อ่านคู่มือการใช้งานฉบับเต็ม:Couchbase การอัพเกรดเซิร์ฟเวอร์แบบ Rolling ภายใต้ CAO (paced + Pause Gate)
- พื้นหลังที่เกี่ยวข้อง:Couchbase ความพร้อมใช้งานสูงในการผลิต (ตัวดำเนินการ XDCR + Kubernetes)