अपग्रेड वह जगह हैं जहाँ डेटाबेस विश्वसनीयता साबित या टूटती है। यह लेख Couchbase Autonomous Operator (CAO) के अंतर्गत Couchbase Server अपग्रेड करने के लिए एक पेस्ड, सपोर्ट-फ्रेंडली रनबुक देता है, जो नोड्स के बीच प्रगति गेट करने के लिए नेटिव spec.paused फ़ील्ड का उपयोग करता है। परिणाम: एक समय में एक नोड, स्वैप के बीच स्थिरीकरण विंडो, स्पष्ट संकेत और बड़ा रोलबैक विंडो।
संदर्भ टोपोलॉजी
पेस्ड अपग्रेड लूप
लक्ष्य
- न्यूनतम जोखिम के साथ Couchbase Server अपग्रेड करें।
- नोड्स के बीच जानबूझकर पॉज़ + स्थिरीकरण + स्वास्थ्य जाँच विंडो रखें।
- जितना व्यावहारिक हो रोलबैक विकल्प बनाए रखें।
प्री-अपग्रेड चेकलिस्ट (छोड़ें नहीं)
- सब हरा: क्लस्टर फ़ेज़
Available, कोई सक्रिय रीबैलेंस नहीं, कोई Warning इवेंट नहीं। - बैकअप वर्तमान और पुनर्स्थापनीय: पूर्ण बैकअप पूरा; रिस्टोर ड्रिल किया या समय समझा।
- रोलबैक टैग दर्ज: पुरानी इमेज अभी भी मौजूद और पुल करने योग्य सत्यापित करें।
- XDCR निर्णय दर्ज: साफ़ संकेत के लिए प्रोड अपग्रेड के दौरान अक्षम करें (अनुशंसित), या व्यवहार अभ्यास के लिए प्री-प्रोड में चालू रखें।
त्वरित सत्यापन कमांड
export ENV=dev
export REGION=west
export NS=couchbase-${ENV}-${REGION}
kubectl -n "$NS" get couchbasecluster -o wide
kubectl -n "$NS" get pods -l app=couchbase
kubectl -n "$NS" get events --field-selector type=Warning | tail -20
kubectl -n "$NS" get couchbasecluster "$NS" -o jsonpath='paused={.spec.paused} phase={.status.phase} rebalance={.status.rebalanceProgress}{"\n"}'
निष्पादन पथ
- पसंदीदा: अपने CI वर्कफ़्लो से अपग्रेड चलाएँ (पहले dry-run, फिर वास्तविक)।
- फ़ॉलबैक: वर्कस्टेशन से पेस्ड अपग्रेड स्क्रिप्ट चलाएँ (पहले dry-run, फिर वास्तविक)।
मॉनिटरिंग संकेत (सपोर्ट क्या देखे)
- पॉड इमेज: पुरानी → नई शिफ्ट; एक समय में एक स्वैप आदर्श।
- पॉज़ स्थिति: स्थिरीकरण के दौरान
spec.pausedtrue; बिना निगरानी true न छोड़ें। - रीबैलेंस: स्वैप के बीच none पर लौटता है; सतत रीबैलेंस जाँचें।
- XDCR:
changes_leftरीबैलेंस में बढ़ता और स्थिरीकरण में घटता है; न घटने पर घटना संकेत। - रीस्टार्ट: स्वैप के बाद कोई भी अप्रत्याशित रीस्टार्ट लाल झंडा है।
रोलबैक ट्रिगर
- नोड टाइमआउट विंडो में स्वस्थ नहीं होता।
- रीबैलेंस विफल और जाँच के बाद एक रिट्राई से हल नहीं।
- एप्लिकेशन त्रुटि दर सहमत सहनशीलता से अधिक।
- सहमत रिकवरी विंडो के बाद XDCR ठीक नहीं होता।
- कोई भी बकेट अनुपलब्ध (लापता vbuckets) — P1 मानें।
पोस्ट-अपग्रेड सत्यापन (साइन-ऑफ़)
- सभी पॉड लक्ष्य इमेज पर
- क्लस्टर फ़ेज़
Available - 30+ मिनट कोई नया Warning इवेंट नहीं
- अपग्रेड के बाद बैकअप सफल
- XDCR स्थिर-अवस्था वापस (यदि उपयोग)
- एप्लिकेशन डैशबोर्ड 30+ मिनट हरे
टिप: पहले छोटी कथात्मक संस्करण चाहें तो ब्लॉग सारांश से शुरू करें: CAO पॉज़ गेट के साथ Couchbase अपग्रेड।
