Couchbase 使用 CAO 暫停門進行升級:支援友好的概述
使用 CAO 本機暫停門、執行狀況檢查和 XDCR 感知監控進行受控滾動升級
如果您支援 Couchbase 平臺(或者當沒有行為時您會收到傳呼),升級可能感覺像是在“放手和希望”與“手動和冒險”之間進行選擇。這篇文章抓住了一個務實的中間立場:控制滾動升級,用於在Couchbase 自治操作員 (CAO)下執行的 Couchbase 伺服器,由 CAO 的本機spec.paused欄位調整。
這是誰的
- 技術支援/事件響應者:在交換重新平衡期間“正常”是什麼樣子以及什麼被視為危險訊號。
- SRE / 平臺工程師:可重複程式,具有預檢檢查、浸泡門和回滾觸發器。
- 資料庫工程師:重新平衡期望、XDCR 行為和升級後驗證。
- 開發人員:您的平臺在維護時段期間正在執行哪些操作(以及您應該發出警報的內容)。
典型 CAO 託管拓撲(概念性)
下圖是操作手冊的思維導圖:操作員所在的位置、CouchbaseClusterCR 控制的內容以及在升級過程中應關聯哪些訊號。
大創意:使用暫停門調整 CAO
CAO 透過交換重新平衡執行滾動升級。該執行手冊特意新增了一個安全門:暫停節點之間的協調、穩定、驗證執行狀況,然後恢復。這樣,如果節點 N 在交換後出現異常行為,您可以在節點 N+1 啟動之前捕獲它。
為什麼暫停門值得
- 更少的驚喜:將症狀隔離到單個節點更改。
- 更清晰的訊號:將延遲、錯誤率、重新平衡狀態和 XDCR 滯後與一次交換相關聯。
- 更安全的推出:在您調查時握住
spec.paused=true,可以快速停止“傳送帶”。
升級過程中“好”的樣子
- Pod 映像:舊→新逐步;最好一次交換一個。
- 叢集階段:在交換之間經常返回到
Available;預計再平衡期間會出現短暫的過渡。 - XDCR(如果啟用):
changes_left在重新平衡期間上升,然後在穩定期間耗盡。 - 重新啟動:新 Pod 從
RESTARTS=0開始。任何增加都是暫停和調查的訊號。
預檢檢查可在以後為您節省
在您進行任何操作之前,請確保叢集為綠色(無主動重新平衡,無警告事件),備份是當前的和可恢復的,並且您已記錄回滾映像標籤。預先決定您的 XDCR 策略:在升級期間禁用以獲得更安靜的生產訊號,繼續在預生產中執行以練習實際行為,或使用第三個備用叢集進行戰略切換。
回滾現實檢查
成熟執行手冊大聲說出的令人不安的事實:只有在至少一個節點仍保留在舊版本上時,回滾才有可能實現。一旦每個 Pod 都被交換並且叢集完全重新平衡,“降級”就可以變成“從備份恢復”。這就是節奏很重要的原因:它可以讓回滾視窗保持更長時間的開啟狀態。
Next steps
- Read the full operational guide:Couchbase Server rolling upgrade under CAO (paced + pause gate)
- Related background:Couchbase high availability in production (XDCR + Kubernetes operator)