लेख
CAO के अंतर्गत Couchbase Server रोलिंग अपग्रेड (पेस्ड + पॉज़ गेट)
सपोर्ट और SRE टीमों के लिए कॉपी/पेस्ट रनबुक: प्रीफ़्लाइट, नोड-बाय-नोड स्वैप-रीबैलेंस, XDCR रणनीति, रोलबैक ट्रिगर और साइन-ऑफ़ जाँच
इस पृष्ठ पर
अपग्रेड वह जगह हैं जहाँ डेटाबेस विश्वसनीयता साबित या टूटती है। यह लेख 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 अपग्रेड।