NebulaCB: إدارة Couchbase على مستوى المؤسسات التي تنقذ الموقف
التحكم في المهمة للترقيات، وXDCR، والتحقق من الصحة، والعمليات بمساعدة الذكاء الاصطناعي
لماذا تحتاج فرق Couchbase في المؤسسة إلى التحكم في المهمة
Couchbase يعمل على تشغيل أعباء العمل التحليلية والمعاملات الهامة. تعتبر الترقيات المتدرجة، والنسخ المتماثل عبر مراكز البيانات (XDCR)، ومشغلي Kubernetes، وأحداث تجاوز الفشل، كلها عمليات عالية المخاطر. عندما تكون الأدوات مجزأة، تعتمد الفرق على نصوص برمجية مخصصة، وغرف حرب بطيئة، ورؤية غير مكتملة - بالضبط عندما يكون فقدان البيانات ووقت التوقف الطويل هو الأكثر ضررًا.
NebulaCBعبارة عن نظام أساسي لإدارة Couchbase مفتوح المصدر ومعتمد على Kubernetes تم وضعه كعنصر تحكم في المهمة: تنسيق الترقيات والتحقق من صحة سلامة XDCR ومراقبة صحة المجموعات المتعددة واستخدام تحليل السبب الجذري بمساعدة الذكاء الاصطناعي من لوحة تحكم واحدة على طراز قمرة القيادة.
ما تقدمه NebulaCB (في لمحة)
وفقًا لسرد المنتج علىnebulacb.org، يؤكد NebulaCB على ثلاث نتائج رئيسية للمشغلين: ترقيةدون خوف، ويتحقق من صحة كل شيء، ولا يخسر شيئًا. وتحت هذه المظلة، فهو يجمع بين الأتمتة التشغيلية والإثبات المستمر لتكامل البيانات والذكاء الاصطناعي المحلي الاختياري حتى يتمكن القياس عن بعد الحساس من البقاء على شبكتك.
- مفتوح المصدر ومدرك لـ Kubernetes: يناسبالممارسات GitOps وهندسة الأنظمة الأساسية؛ يتكامل مع المشغل المستقل Couchbase وسير العمل المستند إلى Helm.
- عقلية عدم فقدان البيانات تمامًا: الجداول الزمنية لعدد مستندات، وأخذ عينات التجزئة، واكتشاف فجوات التسلسل، ومراجعة سير العمل لإثبات أن النسخ المتماثلة ظلت متسقة خلال التغيير.
- XDCR في دائرة الضوء: مراقبة النسخ المتماثل ثنائي الاتجاه لـ، وعناصر التحكم في خطوط الأنابيب، ورؤية التأخر والهيكل، والتوعية بتأخير GOXDCR - نقاط الألم الشائعة أثناء الترقيات وأحداث المنطقة.
- AI بدون مفاتيح سحابية إلزامية: تكاملالمحليOllamaلتشخيصات نمط الدردشة وتحليل السبب الجذري المنظم، مع موفري السحابة الاختياريين عندما تسمح السياسة بذلك.
ما يربطهcmd/nebulacbمعًا
تقوم نقطة إدخال Go (github.com/balinderwalia/nebulacb/cmd/nebulacb) بتحميل--config(config.jsonالافتراضي)، ويعود إلى الإعدادات الافتراضية المعقولة إذا كان الملف مفقودًا، وينشئ أداة تجميع المقاييس، ويبدأ بشكل اختياريkubectl port-forwardالإدارة عند وجود kubeconfig (بما في ذلك فحص الصحة الدوري لإعادة الاتصال الميت للأمام)، وتوصيل كل مجموعة مسجلة من خلالCouchbase ClientPool. ثم يقوم بإنشاء مثيل لـ Storm، ومنسق الترقية، ومحرك XDCR، والمدقق، ومحرك التقارير، وشاشة متعددة المجموعات (الاقتراع بترتيب كل ثانيتين)، بالإضافة إلى الذكاء الاصطناعي الاختياري، والنسخ الاحتياطي، وتجاوز الفشل، والترحيل، والمنطقة، ومديري Docker. يتم تقديم كل شيء من خلال محورWebSocket المشتركوHTTP API - وهو نفس السطح الذي تستهلكه React UI وnebulacb-cli.
React مساحات عمل لوحة القيادة
تعرض واجهة المستخدم التي يتم شحنها ضمنweb/nebulacb-uiعلامات تبويب متعددة لمساحة العمل -Cockpit(شبكة التحكم في المهام الافتراضية على طراز NASA)، لوحة معلوماتالقديمة,اسأل الذكاء الاصطناعي,RCA,المعرفة,رؤى,Pod Logs,الأحداث,المشغل(CouchbaseCluster CR health)، وRunbooks— كلها مدعومة بتحديثات WebSocket المباشرة.
الهيكل المرجعي (محلي + k3s)
للحصول على صورة ملموسة لكيفية محاذاة الخادم ومجموعات dev UI وCLI وCouchbase واختبارات تحميل XDCR، راجع الرسم البياني أدناه.
الترقيات المتدرجة التي تتطابق مع كيفية عمل فرق SRE فعليًا
NebulaCB تصف الترقيات المتدرجة المستندة إلى Helm معللإيقاف المؤقت والاستئناف والإجهاض والتراجع، بما في ذلك تصحيح صورة الموارد المخصصة لـ CouchbaseCluster، وكبسولة المشاهدة التمديد، وتتبع استكمال إعادة التوازن. يؤدي التقدم في كل عقدة على حدة ومسارات الرجوع إلى إصدار أقدم الواضحة إلى تقليل خطر "لقد بدأنا الترقية ولا يمكننا التراجع عنها" الذي يبقي العديد من المؤسسات على إصدارات Couchbase القديمة.
XDCR وسلامة النسخ المتماثل
بالنسبة للأنماط متعددة المناطق والأنماط النشطة النشطة، يسلط NebulaCB الضوء على مراقبة XDCR في الوقت الفعلي: تأخر النسخ المتماثل، وإعادة تشغيل خط الأنابيب، وتغييرات الهيكل أثناء الترقيات، وأدوات لإيقاف خطوط الأنابيب مؤقتًا أو استئنافها أو إعادة تشغيلها أو إيقافها. يكون هذا العمق التشغيلي مهمًا عندما يخفي خط أنابيب واحد عالق المزامنة الجزئية التي تظهر فقط تحت الحمل.
التحقق من صحة البيانات (أثبت، لا تفترض)
بعيدًا عن المخططات المتأخرة، تعلن NebulaCB عن أخذ عينات التجزئةSHA-256، وكشف فجوة التسلسل،، والمراقبة المستمرة لعدد المستندات، وعمليات التدقيق الكاملة عند الطلب. تدعم هذه القدرات الفرق التي تهتم بالامتثال والتي يجب أن تظهر الأدلة - وليس الحكايات - على أن الترقيات وتدريبات تجاوز الفشل لم تؤدي إلى تباعد البيانات بصمت.
مولد أحمال العاصفة والتدريبات الشبيهة بالإنتاج
تشتمل المنصة على مولد أحمال قابل للتكوين (يكتب، ويقرأ، ويحذف، ويتدفق، ومفاتيح التشغيل السريع) مع نسب زمن الوصول، بالإضافة إلى مسار اختبار تحميل مستقل ثنائي المجموعة. إلى جانب لوحات السلامة، يمكن للفرق التدرب على الترقيات في ظل حركة مرور واقعية بدلاً من اكتشاف المشكلات فقط في عطلة نهاية الأسبوع.
HA، وتجاوز الفشل، والنسخ الاحتياطي، والترحيل
NebulaCB يعرض أيضًا تكوين تجاوز الفشل التلقائي، وتجاوز الفشل اليدوي والرائع، والجداول الزمنية للأحداث، والنسخ الاحتياطية المجدولة مع خيارات الاحتفاظ والتشفير، والترحيل مع العمال المتوازيين والتحقق من صحة ما بعد التشغيل. تعمل هذه العناصر معًا على تحويل لوحة المعلومات إلى وحدة تحكم لدورة الحياة بدلاً من صفحة مقاييس للقراءة فقط.
التحليل المدعوم بالذكاء الاصطناعي مع Ollama
المحلي تتضمن الميزات المدرجة في الموقع اللغة الطبيعيةاسأل AIعبر سياق المجموعة، وتقاريرRCAالمنظمة مع خطوات الإصلاح، وقاعدة المعرفةالمدمجةالمشتركة مشكلات Couchbase والتكامل معOllamaبحيث يمكن تشغيل نماذج مثل Llama 3 محليًا بالكامل. يدعم الخادم أيضًا موفري الخدمات الآخرين (على سبيل المثال Anthropic أو OpenAI) عبر متغيرات التكوين والبيئة عندما تسمح السياسة بذلك. يدعم هذا التصميم الصناعات الخاضعة للتنظيم حيث لا يعد إرسال السجلات إلى API العام أمرًا سهلاً. سطح
CLI وAPI
bin/nebulacb-cliهو عميل HTTP للخادم قيد التشغيل — قم بتعيينNEBULACB_URLوNEBULACB_USERوNEBULACB_PASS(أو اعتمد على الإعدادات الافتراضية من اختصارات Makefile). تتضمن الأوامر المستخدمة بشكل متكررstatus،start-load/pause-load/resume-load/stop-load،start-upgrade/abort-upgrade،restart-xdcr،run-audit،inject-failure،alerts،health،configوreport. يتم تحديد مساحة أسماء نقاط نهاية
/api/v1(لقطات لوحة المعلومات، وتنفيذ الأوامر، والتنبيهات، والتكوين، والمجموعات، والنسخ الاحتياطي، والترحيل، وتجاوز الفشل، وتحليل الذكاء الاصطناعي - راجع الملف التمهيدي التمهيدي للحصول على المصفوفة الكاملة). عادةً ما تستدعي عمليات التحقق من الحياةGET /api/v1/health، بينما تشترك لوحات المعلومات فيws://<host>:<port>/wsلتدفق القياس عن بعد.بروفة الترقية النموذجية
- قم بتشغيل
bin/nebulacb --config config.jsonوافتح لوحة المعلومات على المنفذ الذي تم تكوينه (8899 هو الإعداد الافتراضي الشائع). - قم بتدفئة المجموعة باستخدام Storm أو
nebulacb-cli start-load؛ قم بتشغيلgo run ./cmd/xdcr-loadtest/اختياريًا لحركة مرور المجموعة المزدوجة أثناء تغيير الهيكل. - قم بتنفيذ الترقية المتدرجة من Cockpit أو عبر
start-upgrade، ومشاهدة تأخر XDCR، وبلاطات التكامل، وأحداث Kubernetes بالتوازي. - بعد إعادة توازن العقد، قم بتشغيل
run-auditلإثبات اصطفاف التجزئات وأعداد المستندات والتسلسلات. - التقط الأدلة باستخدام
reportللمجالس الاستشارية للتغيير.
كيف ينقذ هذا الوضع للمؤسسات
- ترقيات أسرع وأكثر أمانًا: تعمل مزامنةبالإضافة إلى العودة إلى الحالة السابقة على تقصير نوافذ الصيانة وتقليل مخاطر Sev-1.
- الكشف المبكر عن انحراف النسخ المتماثل: إشارات التكامل المستمرتكتشف مشكلات XDCR قبل أن تصبح أخطاء بيانات مرئية للعميل.
- متوسط وقت أقل للوصول إلى الدقة: تعمل لوحات المعلومات المدعومة بـ WebSocket وRCA وكتب التشغيل المنسقة على ضغط دورات الحوادث.
- التوافق مع واقع Kubernetes: تتطابق التدفقات المدركة للمشغل فيمع عدد المؤسسات التي تقوم بالفعل بتشغيل Couchbase.
- التكلفة والسيادة:أساسي مفتوح المصدر وذكاء اصطناعي محلي اختياري يتجنب تقييد البائع لكل رؤية.
إلى أين نذهب بعد ذلك
استكشف موقع المشروع علىhttps://nebulacb.org/للتعرف على مسارات التثبيت (المصدر، Docker Compose، Helm)، ومخططات الهندسة المعمارية، وروابط GitHub. إذا كنت بحاجة إلى مساعدة في تصميم Couchbase على Kubernetes، أو XDCR متعدد المناطق، أو دمج إمكانية المراقبة والأتمتة في النظام الأساسي الخاص بك، فاتصل بـ Workstation علىinfo@workstation.co.uk- نحن نصمم ونشحن منصات بيانات الإنتاج عبر السحابة والحافة.