আপগ্রেডই সেখানে যেখানে ডাটাবেস নির্ভরযোগ্যতা প্রমাণিত হয় বা ভেঙে যায়। এই নিবন্ধ 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 - ৩০+ মিনিট কোনো নতুন Warning ইভেন্ট নেই
- আপগ্রেডের পর ব্যাকআপ সফল
- XDCR স্থিতিশীল অবস্থা পুনরুদ্ধার (ব্যবহার হলে)
- অ্যাপ্লিকেশন ড্যাশবোর্ড ৩০+ মিনিট সবুজ
টিপ: আগে ছোট আখ্যান চাইলে ব্লগ সারাংশ দিয়ে শুরু করুন: CAO পজ গেটসহ Couchbase আপগ্রেড।