حرف A

أنسِبل

Ansible

آخر تحديث: 2026-10-14
مستوى الشرح اختر المستوى التقني المناسب لك

الشرح المبسط

تخيل أنك مدير مطعم ولديك 50 طباخا، بدلا من الذهاب لكل طباخ لإخباره بالوصفة الجديدة، تقوم بتعليق ورقة واحدة في المطبخ ليقرأها الجميع وينفذوها في نفس الوقت. هذا بالضبط ما تفعله أداة أنسِبل (Ansible) في عالم التقنية. هي أداة أتمتة (Automation) تتيح لمديري الأنظمة (System Administrators) التحكم في مئات أو آلاف الخوادم (Servers) في وقت واحد من جهاز واحد. الأفضل من ذلك أن أنسِبل تعمل بدون وكيل (Agentless)، مما يعني أنك لا تحتاج إلى تثبيت أي برامج إضافية على الخوادم التي تريد إدارتها، بل تعتمد فقط على الاتصال الآمن (SSH) لإرسال الأوامر وتنفيذ المهام المعقدة مثل تحديث النظام أو تثبيت التطبيقات بضغطة زر واحدة.

الشرح التقني المتقدم

تعد أنسِبل (Ansible) من أقوى أدوات الأتمتة (Automation) وإدارة الإعدادات (Configuration Management) في بيئات لينكس (Linux). تعمل الأداة بأسلوب التصريح، حيث تحدد لها الحالة النهائية المطلوبة للنظام وهي تتولى مهام الوصول إليها. الميزة الأهم هي طبيعتها التي لا تتطلب وكيلا (Agentless)، حيث تعتمد حصريا على بروتوكول القشرة الآمنة (SSH) ولغة بايثون (Python) للتواصل مع العقد (Nodes).

مكونات أنسِبل الأساسية

تعتمد بنية الأداة على عدة عناصر تعمل بتناغم تام لتنفيذ المهام على الخوادم البعيدة:

ملف الجرد (Inventory): هو ملف نصي بسيط يحتوي على عناوين الخوادم (IP Addresses) التي سيتم إدارتها، مقسمة في مجموعات. وهناك أيضا دفاتر اللعب (Playbooks) وهي ملفات مكتوبة بصيغة يامل (YAML) تحتوي على التعليمات والمهام المراد تنفيذها.

استخدام أنسِبل عمليا لتحديث الخوادم

قبل تنفيذ المهام المعقدة، من الجيد دائما التحقق من اتصال جميع الخوادم الموجودة في ملف الجرد باستخدام وحدة اختبار الاتصال (Ping module):

أمر التحقق من الاتصال:

ansible all -m ping

بعد التأكد من الاتصال، يمكننا تنفيذ أمر مخصص (Ad-hoc command) لتحديث الحزم في جميع الخوادم التي تعمل بتوزيعة ديبيان أو أوبونتو بطلب صلاحيات الجذر:

  • الخيار -m apt يحدد الوحدة (Module) المستخدمة للتعامل مع مدير الحزم.
  • الخيار -a "name=* state=latest" يمرر المعاملات التي تطلب تحديث كل الحزم إلى أحدث إصدار.
  • الخيار -b يطلب صلاحيات الجذر (Root) لتنفيذ الأمر بشكل آمن.

ملاحظة ختامية: الصورة الكبرى (نصيحة احترافية)

للحصول على أفضل أداء، تجنب الاعتماد الدائم على الأوامر المباشرة. بدلا من ذلك، قم ببناء دفاتر لعب (Playbooks) منظمة باستخدام الأدوار (Roles) لضمان قابلية إعادة الاستخدام وسهولة صيانة البنية التحتية الخاصة بك ككود (Infrastructure as Code).

المصادر المعتمدة :