
عمليات تخزين أصلية لـ Kubernetes
مجاني

Rook هو منسق تخزين مفتوح المصدر وسحابي المنشأ لـ Kubernetes، يعمل على تحويل أنظمة التخزين الموزعة إلى خدمات ذاتية الإدارة والقياس والإصلاح. من خلال الاستفادة من نمط Kubernetes Operator، يقوم Rook بأتمتة المهام الإدارية المعقدة مثل النشر، والتشغيل الأولي، والتهيئة، وتوفير الموارد، والتعافي من الكوارث. على عكس حلول التخزين التقليدية التي تتطلب إدارة خارجية، يندمج Rook مباشرة في مستوى التحكم في K8s، مما يسمح للمطورين بإدارة مجموعات تخزين Ceph باستخدام أوامر kubectl القياسية. تم تصميمه لمهندسي المنصات ومهندسي موثوقية المواقع (SREs) الذين يحتاجون إلى تشغيل أحمال عمل ذات حالة (stateful) على نطاق واسع باستخدام أجهزة قياسية، مما يوفر واجهة موحدة لتخزين الكتل (block)، والملفات، والكائنات (object) داخل بيئة حاويات.
يستخدم Rook نمط Kubernetes Operator الأصلي لإدارة دورة حياة مجموعات التخزين بالكامل. من خلال مراقبة التغييرات في تعريفات الموارد المخصصة (CRDs)، يقوم المشغل تلقائيًا بمواءمة حالة مجموعة التخزين، والتعامل مع المهام المعقدة مثل التعافي من فشل العقد، وإعادة توازن OSD، وترقيات الإصدار دون تدخل يدوي، مما يقلل بشكل كبير من العبء التشغيلي لفرق SRE.
يوفر Rook واجهة برمجة تطبيقات (API) متسقة لإدارة تخزين الكتل والملفات والكائنات. يسمح هذا التجريد للمطورين بطلب التخزين عبر PVCs القياسية في Kubernetes بغض النظر عن الأجهزة المادية الأساسية. وهو يدعم الوصول متعدد البروتوكولات، مما يتيح للتطبيقات استهلاك Ceph RBD لتخزين الكتل، وCephFS لأنظمة الملفات المشتركة، وRGW لتخزين الكائنات المتوافق مع S3 داخل نفس المجموعة.
يراقب Rook باستمرار صحة عقد التخزين وOSDs. إذا فشلت عقدة أو أصبح القرص غير مستجيب، يقوم المشغل تلقائيًا بتشغيل عمليات إعادة نسخ البيانات والتعافي لضمان متانة البيانات. يضمن هذا الإصلاح المؤتمت احتفاظ مجموعات التخزين بتوافر عالٍ واتفاقيات مستوى الخدمة (SLAs) للأداء دون الحاجة إلى إشراف يدوي على مدار الساعة من مسؤولي التخزين.
يُمكّن Rook عمليات النشر المتقاربة حيث يعمل التخزين والحوسبة على نفس العقد المادية. هذا يقلل من زمن الوصول وتكاليف البنية التحتية من خلال القضاء على الحاجة إلى مصفوفات تخزين منفصلة. تم تحسينه للأجهزة القياسية، مما يسمح للمؤسسات بتوسيع سعة التخزين خطيًا ببساطة عن طريق إضافة المزيد من العقد إلى مجموعة Kubernetes.
يعمل Rook كمنسق متخصص لـ Ceph، وهو نظام التخزين الموزع القياسي في الصناعة. يقوم بتجريد تعقيد تكوين Ceph، مثل خرائط CRUSH ونصاب المراقبة، إلى ملفات تعريف أصلية لـ Kubernetes. يسمح هذا للفرق بالاستفادة من موثوقية وأداء Ceph على مستوى المؤسسات مع الحفاظ على مرونة وسير العمل التصريحي لبيئة Kubernetes الحديثة.
يستخدم مهندسو المنصات Rook لتوفير تخزين دائم لقواعد البيانات مثل PostgreSQL أو MongoDB التي تعمل في Kubernetes. يضمن ذلك بقاء البيانات متاحة ومتسقة حتى عند إعادة جدولة الحاويات (pods) عبر عقد مختلفة في المجموعة.
تقوم فرق البيانات بنشر Rook لإدارة تخزين الكائنات واسع النطاق (المتوافق مع S3) محليًا (on-premises). يسمح لهم ذلك بتخزين وتحليل مجموعات بيانات ضخمة محليًا مع الحفاظ على نفس توافق API الخاص بموفري تخزين الكائنات المستندة إلى السحابة.
تستخدم المؤسسات التي تشغل K8s في الحافة (edge) Rook لإدارة التخزين على الأجهزة ذات الموارد المحدودة. تجعل قدرة Rook على أتمتة إدارة التخزين على الأجهزة القياسية مثالية للمواقع البعيدة حيث لا يتوفر مسؤولو تخزين متخصصون.
يحتاجون إلى توفير تخزين موثوق وذاتي الخدمة لفرق التطوير. يسمح لهم Rook بأتمتة توفير التخزين وإدارته، مما يحول البنية التحتية إلى خدمة قابلة للبرمجة.
يركزون على وقت تشغيل النظام والتعافي من الكوارث. تقلل قدرات الإصلاح الذاتي والمراقبة المؤتمتة في Rook من الجهد اليدوي المرتبط بصيانة أنظمة التخزين الموزعة المعقدة.
يصممون بنية تحتية توازن بين الأداء والتكلفة والقابلية للتوسع. يُمكّنهم Rook من بناء سحب خاصة تحاكي مرونة وأتمتة خدمات التخزين السحابية العامة.
Rook هو برنامج مفتوح المصدر بنسبة 100% تم إصداره بموجب ترخيص Apache 2.0. لا توجد رسوم ترخيص؛ فهو مجاني للاستخدام والتعديل والتوزيع.