ديف أوبس

تثبيت Ansible على Ubuntu

كيفية تثبيت وإعداد Ansible لأتمتة إدارة الإعدادات ونشر التطبيقات على خادوم Ubuntu

تعتبر أداة Ansible واحدة من الأدوات الأكثر شعبية في مجال أتمتة إدارة الأنظمة ونشر التطبيقات. من خلال استخدام Ansible، يمكن للمسؤولين عن النظام تحقيق الأتمتة الفعالة لكل من إدارة الإعدادات، تحديثات النظام، بالإضافة إلى نشر التطبيقات على الخوادم المختلفة. لا يقتصر استخدام Ansible على أنظمة تشغيل معينة، بل يمكن استخدامه على نطاق واسع على أنظمة Linux وWindows وغيرها. في هذا المقال، سنناقش كيفية تثبيت Ansible على خادم Ubuntu، بالإضافة إلى كيفية إعداده لاستخدامه في أتمتة مهام إدارة الأنظمة.

1. مقدمة عن Ansible

قبل الدخول في خطوات التثبيت والإعداد، من الضروري فهم ما هي Ansible وكيف تعمل. Ansible هي أداة مفتوحة المصدر لأتمتة إدارة الأنظمة، تُستخدم بشكل رئيسي لتبسيط عمليات النشر، التكوين، وإدارة الأنظمة بشكل عام. تعتمد Ansible على لغة YAML البسيطة لكتابة المهام التي يمكن أن تُنفذ على خوادم متعددة دون الحاجة إلى استخدام أي عميل أو تثبيت برامج إضافية على الخوادم.

يتمثل المبدأ الأساسي لاستخدام Ansible في المهام (Tasks) التي تُنفذ على الخوادم المستهدفة باستخدام ملفات Playbooks، وهي ملفات مكتوبة بلغة YAML تحتوي على مجموعة من المهام التي يتم تنفيذها على الخوادم المعنية.

2. متطلبات النظام

قبل البدء في تثبيت Ansible على خادم Ubuntu، يجب التأكد من أن النظام يفي بالمتطلبات الأساسية:

  • خادم Ubuntu: يجب أن يكون لديك خادم يعمل بنظام Ubuntu. يمكن أن تكون هذه نسخة 18.04 LTS أو أحدث.

  • صلاحيات الجذر: يجب أن يكون لديك صلاحيات مستخدم الجذر (root) أو حساب مستخدم لديه صلاحيات sudo لتنفيذ الأوامر.

3. خطوات تثبيت Ansible على خادم Ubuntu

3.1 تحديث النظام

قبل تثبيت أي برنامج، من المهم دائمًا تحديث النظام أولاً للتأكد من أن جميع الحزم محدثة. للقيام بذلك، افتح الطرفية (Terminal) واستخدم الأوامر التالية:

bash
sudo apt update sudo apt upgrade -y

3.2 تثبيت الحزم الضرورية

للتأكد من أن النظام يحتوي على الحزم الضرورية لتثبيت Ansible، قم بتثبيت بعض الأدوات الأساسية مثل software-properties-common، وذلك باستخدام الأمر التالي:

bash
sudo apt install software-properties-common -y

3.3 إضافة مستودع Ansible الرسمي

لتثبيت Ansible من المستودع الرسمي، يجب أولاً إضافة مستودع Ansible إلى النظام. يمكن القيام بذلك باستخدام الأمر التالي:

bash
sudo add-apt-repository ppa:ansible/ansible -y

3.4 تحديث الحزم من المستودع

بعد إضافة المستودع، يجب تحديث قائمة الحزم لتضمين المستودع الجديد:

bash
sudo apt update

3.5 تثبيت Ansible

الآن يمكن تثبيت Ansible باستخدام الأمر التالي:

bash
sudo apt install ansible -y

3.6 التحقق من التثبيت

بعد التثبيت، يمكن التحقق من تثبيت Ansible بشكل صحيح عن طريق التحقق من الإصدار المثبت:

bash
ansible --version

إذا تم تثبيت Ansible بنجاح، ستظهر معلومات الإصدار.

4. إعداد Ansible

بعد التثبيت، تحتاج إلى إعداد Ansible للعمل مع الخوادم التي تريد إدارتها. يشمل الإعداد تحديد المستضيفين (hosts) وكتابة ملفات Inventories التي تحتوي على تفاصيل الخوادم التي ستعمل عليها Ansible.

4.1 إعداد ملف Inventory

في Ansible، يُستخدم ملف Inventory لتحديد الخوادم المستهدفة التي سيعمل عليها Ansible. الملف يمكن أن يكون بسيطًا جدًا في البداية، ويمكنك تحديد خوادمك بشكل يدوي في هذا الملف.

افتح الملف الافتراضي للـ Inventory باستخدام المحرر النصي المفضل لديك:

bash
sudo nano /etc/ansible/hosts

ثم أضف الخوادم المستهدفة إلى الملف. على سبيل المثال، إذا كان لديك خوادم تسمى server1 و server2:

bash
[webservers] server1 server2

يمكنك أيضًا استخدام عناوين IP مباشرة بدلاً من الأسماء:

bash
[webservers] 192.168.1.10 192.168.1.11

4.2 إعداد الاتصال بالخوادم (الـ SSH)

تحتاج Ansible إلى الاتصال بالخوادم باستخدام بروتوكول SSH. تأكد من أن الخوادم المستهدفة تحتوي على مفتاح SSH مخصص وأنه يمكنك الاتصال بها باستخدام حساب المستخدم المناسب. في العادة، يتم استخدام مفتاح SSH بدون كلمة مرور للوصول إلى الخوادم.

إذا كنت تستخدم مفتاح SSH بدون كلمة مرور، تأكد من أن لديك إعدادات الاتصال المناسبة:

bash
ssh-copy-id user@server1

5. اختبار الاتصال

بعد إعداد ملف الـ Inventory، يمكنك اختبار الاتصال بالخوادم باستخدام الأمر التالي:

bash
ansible all -m ping

سيقوم هذا الأمر باستخدام الموديل ping للتحقق من الاتصال بالخوادم. إذا كانت الإعدادات صحيحة، ستتلقى استجابة “pong” من كل خادم في الـ Inventory.

6. استخدام Playbooks لأتمتة المهام

الآن بعد أن قمت بإعداد Ansible وأتممت الاتصال بالخوادم، يمكنك البدء في أتمتة المهام باستخدام Playbooks. Playbook هو ملف مكتوب بلغة YAML يحتوي على مجموعة من المهام التي يتم تنفيذها على الخوادم.

6.1 كتابة أول Playbook

في البداية، لنقم بكتابة Playbook بسيط لتثبيت حزمة معينة على الخادم. افتح محرر النصوص الخاص بك وأضف هذا المحتوى إلى ملف جديد:

yaml
--- - name: تثبيت حزمة nginx hosts: webservers become: yes tasks: - name: تثبيت nginx apt: name: nginx state: present

في هذا المثال، يقوم Playbook بتثبيت حزمة nginx على الخوادم الموجودة في مجموعة webservers. لاحظ أننا استخدمنا become: yes لرفع الامتيازات إلى الجذر.

6.2 تنفيذ Playbook

لتنفيذ Playbook، استخدم الأمر التالي:

bash
ansible-playbook install_nginx.yml

سيتحقق Ansible من الخوادم المستهدفة في الـ Inventory، ثم يقوم بتثبيت الحزمة المحددة إذا لم تكن مثبتة بالفعل.

7. إدارة المهام المتقدمة باستخدام Ansible

يتيح لك Ansible أتمتة مجموعة واسعة من المهام المعقدة، مثل:

  • إدارة الخدمات (مثل تشغيل أو إيقاف الخدمة).

  • تحديث الأنظمة وتثبيت الحزم.

  • تحميل وتوزيع الملفات على الخوادم.

  • تنفيذ السكربتات عن بُعد.

على سبيل المثال، يمكنك استخدام Ansible لإعادة تشغيل خدمة بعد تثبيت حزمة جديدة:

yaml
--- - name: تثبيت وتفعيل الخدمة hosts: webservers become: yes tasks: - name: تثبيت الحزمة المطلوبة apt: name: nginx state: present - name: إعادة تشغيل خدمة nginx service: name: nginx state: restarted

8. استخدام الموديلات المختلفة في Ansible

Ansible يحتوي على مجموعة واسعة من الموديلات التي توفر لك وظائف متنوعة. من أشهر الموديلات التي قد تحتاج إليها:

  • apt: لإدارة الحزم في توزيعات Ubuntu.

  • service: لإدارة الخدمات.

  • copy: لنسخ الملفات إلى الخوادم.

  • template: لاستخدام قوالب من ملفات النصوص.

9. استكشاف الأخطاء وإصلاحها

في حال حدوث أي مشكلة أثناء تنفيذ أو استخدام Ansible، يمكنك استخدام بعض الأوامر لتشخيص الأخطاء:

  • التنفيذ في وضع التصحيح:

    يمكنك تشغيل الأمر في وضع التصحيح للحصول على تفاصيل إضافية حول ما يحدث أثناء التنفيذ:

    bash
    ansible-playbook install_nginx.yml -vvvv

10. استنتاج

تعد Ansible واحدة من أقوى الأدوات المفتوحة المصدر لأتمتة إدارة الأنظمة ونشر التطبيقات على خوادم Ubuntu. من خلال اتباع الخطوات المذكورة أعلاه، يمكنك تثبيت Ansible على خادم Ubuntu، إعداد ملفات Inventory، واستخدام Playbooks لأتمتة مهامك اليومية. تعتبر هذه الأداة مثالية للمسؤولين عن النظام الذين يحتاجون إلى أتمتة المهام على خوادم متعددة بطريقة آمنة وفعالة.