মূল বিষয়বস্তুতে যান

নিবন্ধ

CAO-এর অধীনে Couchbase Server রোলিং আপগ্রেড (পেসড + পজ গেট)

সাপোর্ট ও SRE টিমের জন্য কপি/পেস্ট রানবুক: প্রিফ্লাইট, নোড-বাই-নোড সোয়াপ-রিব্যালেন্স, XDCR কৌশল, রোলব্যাক ট্রিগার ও সাইন-অফ পরীক্ষা

  • 2 মিনিটে পড়া
  • ডাটাবেস
  • Kubernetes
  • DevOps
  • SRE

আপগ্রেডই সেখানে যেখানে ডাটাবেস নির্ভরযোগ্যতা প্রমাণিত হয় বা ভেঙে যায়। এই নিবন্ধ Couchbase Autonomous Operator (CAO)-এর অধীনে Couchbase Server আপগ্রেডের জন্য একটি পেসড, সাপোর্ট-বান্ধব রানবুক দেয়, যা নোডগুলোর মধ্যে অগ্রগতি গেট করতে নেটিভ spec.paused ক্ষেত্র ব্যবহার করে। ফল: একবারে এক নোড, সোয়াপের মধ্যে স্থিতিশীলকরণ উইন্ডো, স্পষ্ট সংকেত ও বৃহত্তর রোলব্যাক উইন্ডো।

রেফারেন্স টপোলজি

AKS-এ সাধারণ Couchbase টপোলজি

পেসড আপগ্রেড লুপ

পেসড আপগ্রেড লুপ

লক্ষ্য

  • ন্যূনতম ঝুঁকিতে 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.paused true; নজরদারি ছাড়া true রেখে দেবেন না।
  • রিব্যালেন্স: সোয়াপের মধ্যে none-এ ফিরে আসে; স্থায়ী রিব্যালেন্স তদন্ত করুন।
  • XDCR: changes_left রিব্যালেন্সে বাড়ে ও স্থিতিশীলকরণে কমে; না কমলে ঘটনার সংকেত।
  • রিস্টার্ট: সোয়াপের পর যেকোনো অপ্রত্যাশিত রিস্টার্ট লাল পতাকা।

রোলব্যাক ট্রিগার

  • টাইমআউট উইন্ডোতে নোড সুস্থ হয় না।
  • রিব্যালেন্স ব্যর্থ এবং তদন্তের পর এক রিট্রাইতে সমাধান হয় না।
  • অ্যাপ্লিকেশন ত্রুটির হার সম্মত সহনশীলতা ছাড়ায়।
  • সম্মত রিকভারি উইন্ডোর পর XDCR পুনরুদ্ধার হয় না।
  • যেকোনো বাকেট অনুপলব্ধ (অনুপস্থিত vbuckets) — P1 হিসেবে ধরুন।

পোস্ট-আপগ্রেড যাচাই (সাইন-অফ)

  • সব পড টার্গেট ইমেজে
  • ক্লাস্টার ফেজ Available
  • ৩০+ মিনিট কোনো নতুন Warning ইভেন্ট নেই
  • আপগ্রেডের পর ব্যাকআপ সফল
  • XDCR স্থিতিশীল অবস্থা পুনরুদ্ধার (ব্যবহার হলে)
  • অ্যাপ্লিকেশন ড্যাশবোর্ড ৩০+ মিনিট সবুজ

টিপ: আগে ছোট আখ্যান চাইলে ব্লগ সারাংশ দিয়ে শুরু করুন: CAO পজ গেটসহ Couchbase আপগ্রেড।