كيفية نشر وإدارة المستودعات باستخدام Rediacc
المستودعات هي وحدة النشر الأساسية في Rediacc, كل مستودع هو بيئة معزولة ومشفرة مع Docker daemon خاص به ومساحة تخزين مخصصة. في هذا الدرس التعليمي، ستقوم بإنشاء مستودع مشفر ونشر تطبيق حاوية وفحص الحاويات العاملة والتنظيف. عند الانتهاء، ستكون قد أكملت دورة نشر كاملة.
المتطلبات الأساسية
- تثبيت
rdcCLI مع تهيئة الإعدادات - جهاز مُجهّز (انظر الدرس التعليمي: إعداد الجهاز)
- تطبيق بسيط يحتوي على
Rediaccfileوdocker-compose.yml
التسجيل التفاعلي
الخطوة 1: إنشاء مستودع مشفر
يحصل كل مستودع على وحدة تخزين مشفرة بـ LUKS خاصة به. حدد الجهاز وحجم التخزين.
rdc repo create --name test-app -m server-1 --size 2G
يقوم Rediacc بإنشاء وحدة تخزين مشفرة بحجم 2 جيجابايت وتهيئتها وتوصيلها تلقائياً. المستودع جاهز لرفع الملفات.
الخطوة 2: عرض المستودعات
تأكد من توفر المستودع الجديد.
rdc repo list -m server-1
يعرض جميع المستودعات على الجهاز مع حجمها وحالة التوصيل وحالة التشفير.
الخطوة 3: فحص مسار التوصيل
قبل النشر، تحقق من أن تخزين المستودع موصّل ويمكن الوصول إليه.
rdc term connect -m server-1 -c "ls -la /mnt/rediacc/mounts/test-app/"
مجلد التوصيل هو المكان الذي تتواجد فيه ملفات التطبيق, Rediaccfile و docker-compose.yml وأي وحدات تخزين بيانات.
الخطوة 4: بدء الخدمات
انشر التطبيق عن طريق توصيل المستودع وبدء خدمات Docker الخاصة به.
rdc repo up --name test-app -m server-1 --mount
يقوم هذا بتوصيل المستودع (إذا لم يكن موصّلاً بالفعل)، وبدء Docker daemon معزول، وبدء الخدمات عبر up().
ملاحظة: يستغرق النشر الأول وقتاً أطول لتنزيل صور Docker. عمليات البدء اللاحقة تستخدم الصور المخزنة مؤقتاً.
الخطوة 5: عرض الحاويات العاملة
rdc machine containers server-1
يعرض جميع الحاويات العاملة عبر جميع المستودعات على الجهاز، بما في ذلك استخدام المعالج والذاكرة.
الخطوة 6: الوصول إلى طرفية المستودع
لتشغيل الأوامر داخل بيئة Docker المعزولة للمستودع:
rdc term connect -m server-1 -r test-app -c "docker ps"
تقوم جلسة الطرفية بتعيين DOCKER_HOST إلى مقبس Docker المعزول الخاص بالمستودع. أي أمر Docker يعمل فقط على حاويات ذلك المستودع.
الخطوة 7: إيقاف وتنظيف
عندما تنتهي، أوقف الخدمات وأغلق وحدة التخزين المشفرة واحذف المستودع اختيارياً.
rdc repo down --name test-app -m server-1 # إيقاف الخدمات
rdc repo unmount --name test-app -m server-1 # إغلاق وحدة التخزين المشفرة
rdc repo delete --name test-app -m server-1 # حذف المستودع نهائياً
down يوقف الحاويات و Docker daemon. unmount يغلق وحدة LUKS. delete يحذف المستودع ومساحة التخزين المشفرة نهائياً.
تحذير:
repo deleteلا يمكن التراجع عنه. يتم تدمير جميع البيانات في المستودع. أنشئ نسخة احتياطية أولاً إذا لزم الأمر.
استكشاف الأخطاء وإصلاحها
“مساحة القرص غير كافية” أثناء إنشاء المستودع
تحتاج وحدة التخزين المشفرة إلى مساحة حرة متجاورة على المضيف. تحقق من المساحة المتاحة باستخدام df -h على الخادم. فكر في استخدام قيمة --size أصغر أو تحرير مساحة القرص.
انتهاء مهلة سحب صورة Docker أثناء repo up
قد تنتهي مهلة الصور الكبيرة على الاتصالات البطيئة. أعد المحاولة باستخدام rdc repo up, يستأنف من حيث توقف. للبيئات المعزولة عن الشبكة، حمّل الصور مسبقاً في Docker daemon الخاص بالمستودع.
“فشل التوصيل” أو “فشل فتح LUKS” تُشتق عبارة مرور LUKS من الإعدادات. تحقق من أنك تستخدم نفس الإعدادات التي أنشأت المستودع. إذا كانت وحدة التخزين موصّلة بالفعل بواسطة عملية أخرى، افصلها أولاً.
الخطوات التالية
لقد أنشأت مستودعاً مشفراً ونشرت تطبيقاً وفحصت الحاويات وقمت بالتنظيف. لمراقبة عمليات النشر الخاصة بك:
- الخدمات, مرجع Rediaccfile وشبكات الخدمات والتشغيل التلقائي وتخطيطات الخدمات المتعددة
- الدرس التعليمي: المراقبة والتشخيص, فحوصات الصحة وفحص الحاويات والتشخيص
- الأدوات, الطرفية ومزامنة الملفات وتكامل VS Code