ما هو Ansible – الدليل النهائي

أنسيبل هو أداة DevOps الأكثر استخدامًا لإدارة التغييرات عبر بنية تحتية سحابية أو مركز بياناتك. في هذه المقالة، ستحصل على نظرة عامة على كيفية عمل أنسيبل وكيف يمكنك البدء باستخدامه.

ما هو أنسيبل؟

أنسيبل هو أداة منصة الأتمتة تُستخدم لنشر التطبيقات بسهولة وتكوينات النظام على عدة خوادم. يمكن استخدامه لبدء خدمات لينكس، إنشاء العديد من مستخدمي لينكس، تحديث كلمات المرور، وأكثر من ذلك بكثير.

أنسيبل هو حلاً خاليًا من الوكيل الذي يدير الآلات عبر بروتوكول الـSecure Shell Host (SSH). يتطلب قاعدة بيانات ولكنه لا يستخدم أي خدمات خلفية (خدمات الخلفية).

أنسيبل يستخدم أوامر فورية مدمجة و مخططات أنسيبل لنشر البرمجيات أو تنفيذ الأوامر. كما يحتوي أنسيبل على مئات الوحدات لنشر أو تكوين العقد البعيدة.

كيف يعمل أنسيبل

الآن، لديك فكرة أساسية عن ما هو أنسيبل. ولكن لكي يعمل أنسيبل، ستحتاج إلى أربعة مكونات:

  1. يُعرف جهاز تحكم أنسيبل، المعروف أيضًا باسم جهاز تحكم أنسيبل، بأنه الخادم الذي يتم تثبيت أنسيبل فيه. يُنفذ هذا الجهاز جميع الأوامر الفورية لأنسيبل والخطط الخاصة بأنسيبل لنشر أو إدارة التكوينات أو البرامج على العقد البعيدة.
  2. عُقد أنسيبل البعيدة، المعروفة أيضًا باسم العُقد المُدارة بواسطة أنسيبل، هي الخوادم أو أجهزة الشبكة التي تستخدمها لنشر التطبيقات أو التكوينات باستخدام الأوامر الفورية لأنسيبل أو خطة أنسيبل. تُعرف هذه أيضًا باسم أجهزة أنسيبل.
  3. يُعد جدول مخزون أنسيبل ملفًا على جهاز تحكم أنسيبل أو جهاز التحكم الذي يحتوي على قائمة بجميع الخوادم البعيدة أو العُقد المُدارة.
  4. وحدات أنسيبل، المعروفة أيضًا باسم وحدات جوهرية أنسيبل، هي إضافات الشفرة أو إضافات المكتبة التي يمكن استخدامها من سطر الأوامر أو مهمة الخطة. يُنفذ أنسيبل كل وحدة، عادةً على العُقد التي يتم إدارتها عن بُعد.

لماذا استخدام Ansible؟

عند العمل في تكنولوجيا المعلومات، من المحتمل أن تقوم بنفس المهام بانتظام. ماذا لو كان بإمكانك حل المشاكل مرة واحدة ثم أتمتة الحلول في المستقبل؟ Ansible هو أداة إدارة التكوين تتيح لك إدارة ونشر البرمجيات على العقد البعيد بسهولة وكفاءة.

لدى Ansible مئات من الوحدات التي يمكن استخدامها أثناء إدارة الخوادم عن بعد. تنقسم الوحدات إلى فئتين:

  • وحدات النواة Ansible (أو ansible-core) التي ذكرناها سابقًا، هي الأندلس الرئيسية والهندسة المعمارية لـ Ansible. إنها مملوكة ومُدارة من قبل فريق Ansible الأساسي ودائمًا ما تتميز بشحن Ansible نفسها.
  • المجموعة Ansible هي تنسيق توزيع لـ Ansible يمكنك استخدامه لتعبئة وتوزيع دفاتر الأدوار والوحدات والمكونات الإضافية. تعالج المجموعة النموذجية مجموعة من حالات الاستخدام ذات الصلة. يمكنك إنشاء مجموعة ونشرها على Ansible Galaxy.

? تُشير Ansible Galaxy إلى موقع الويب Galaxy حيث يمكن للمستخدمين مشاركة الأدوار وتثبيتها وإنشاؤها وإدارتها.

حالات الاستخدام لـ Ansible

إذا سألتني عن الاستخدامات الرئيسية لـ Ansible، لا يمكنني تدوين قائمة بأكملها لأن هناك مئات الأشياء التي يمكن أن يفعلها Ansible. يبدأ من المهام الأساسية، مثل إعادة تشغيل الخدمات على العقد البعيدة، إلى نشر تطبيقات تومكات.

دعونا نستعرض بعض الاستخدامات التي يثبت فيها Ansible أنه مفيد:

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

خيارات تثبيت أنسيبل

أنسيبل هو أداة سهلة التثبيت والتي تدعم عدة أنظمة تشغيل. دعنا نلقي نظرة سريعة على الأنظمة التي يدعمها أنسيبل.

هل يمكن تشغيل Ansible على Windows؟

لا يمكنك تثبيت Ansible على Windows؟ ومع ذلك، يمكنك استخدامه لإدارة الأنظمة التشغيلية المبنية على Windows. وفيما يلي بعض الاستخدامات الممكنة:

  • جمع حقائق Ansible على المضيفين Windows. 
  • تثبيت وإزالة البرامج الثابتة باستخدام MSIs.
  • تمكين/تعطيل ميزات Windows.
  • بدء وإيقاف وإدارة الخدمات التشغيلية لـ Windows.

إدارة Ansible التكوين

قبل تشغيل أول أمر Ansible، يجب أن تعرف كيفية تكوين مضيف Ansible المتحكم، قائمة Ansible، وإصدارات Ansible، إلخ.

ملف قائمة Ansible يحتوي على قائمة بجميع العقد البعيدة لـ Ansible أو العقد البعيدة المجمعة، التي يستخدمها Ansible أثناء نشر أو إدارة الموارد.

هناك طريقتان مختلفتان لتخزين قائمة Ansible:

  1. بشكل افتراضي، يتم تخزين قائمة Ansible في ملف /etc/ansible/hosts.
  2. يمكنك أيضًا استخدام المسار المخصص عن طريق تحديد خيار -I <المسار> في سطر الأوامر.

أيضًا، هناك طريقتان لتكوين قائمة Ansible:

  • تنسيق INI: الملف INI هو ملف تكوين يتكون من أسماء مجموعات بين قوسين لتخصيص المضيفين في مجموعات مختلفة. في المثال أدناه، server1.abc.com ليس له مجموعات مخصصة؛ ومع ذلك، server3.abc.com و server4.abc.com هما جزء من المجموعة 1.
server1.abc.com

[Group1]

server3.abc.com

server4.abc.com
  • تنسيق YAML: طريقة أخرى لتعريف جدول الأنسيبل هي باستخدام YAML، وهو مجموعة فرعية من JSON، لغة تسلسل بيانات أخرى. يتم تعريف بناء التركيبة الخاصة بتنسيق YAML أدناه.

على غرار ما شرحناه أعلاه بالنسبة لتنسيق رمز INI، فهناك خادمان هنا (server3.abc.com و server4.abc.com) ينتميان إلى المجموعة Group1.

all:

  hosts:

     server1.abc.com

  children:

      Group1:

        hosts:

          server3.abc.com

          server4.abc.com

أوامر Ansible Ad hoc

إذا كنت بحاجة لتنفيذ مهمة سريعة مثل إعادة تشغيل أو بدء خدمة لينكس على جهاز آنسيبل عن بُعد، فإن أمر Ansible Ad hoc هنا من أجلك. تعتبر أوامر Ad hoc وسيلة سريعة وفعالة لتشغيل أمر واحد على أجهزة عن بُعد.

على سبيل المثال، للبقاء على اتصال بجميع العقد البعيدة لـ Ansible باستخدام أمر Ansible العشوائي، ستحتاج إلى تشغيل الأمر أدناه. هنا، ‘كل’ يمثل جميع المضيفين المعرفين في المخزن المؤقت لـ Ansible و-m هو العلم المستخدم جنبًا إلى جنب مع وحدة البقية.

ansible all -m ping 
Using an Ansible Ad hoc command to ping all Ansible remote nodes

ما هو كتاب Ansible؟

عندما تحتاج إلى تنفيذ مهام Ansible متعددة في وقت واحد، يجب عليك استخدام كتب Ansible.

كتب Ansibleتسمح لك بنشر تطبيقات معقدة، وتوفر إدارة الإعدادات القابلة لإعادة الاستخدام والبساطة. كما تدعم النشر على مستوى متعدد الآلات، ويمكن استخدامها لأداء مهام متعددة، عدة مرات.

كتب Ansible مكتوبة في تنسيق YAML، وتحتوي على مهام متعددة تنفذ بترتيب تسلسلي. مثال على كتاب Ansible موضح أدناه.

في هذا المثال، تحتوي كتاب Ansible على مهمتين لـ Ansible (1 و 2)، والتي تثبت أبري وجافا على العقد البعيدة.

# Playbook apache.yml

---

- name: Ansible Playbook Examples

  hosts: servers                                         # Define all the hosts

  remote_user: ubuntu                                    # Remote_user is ubuntu

  # Defining the Ansible tasks

  tasks:                                                

  - name: Ansible Task 1

    apt:

      name: httpd

      state: latest

  tasks:                                                 

  - name: Ansible Task 2

    apt:

      name: open-jdk

      state: latest

برج Ansible: حل على شبكة الإنترنت

على الرغم من أنك الآن لديك فكرة جيدة عن كيفية عمل Ansible، ماذا لو كنت ترغب في استخدامه دون الحاجة إلى إدارته أو تثبيته؟

تُستضيف Ansible على جهاز Linux. ولكن إذا كنت ترغب في استخدام الإصدار السحابي، دون عناء إدارة Ansible على الجهاز المحلي، فيمكنك استخدام Ansible Tower ، وهو حلاً مستنداً على الويب. مع الإصدار السحابي، تستخدم لا تزال الوحدات لتكوين أو إدارة الأجهزة عن بُعد وتنفيذ أوامر Ansible أو ملفات Ansible Playbooks.

تسمح أيضًا Ansible Tower لك بالتحكم في الوصول لجميع المستخدمين، والاعتناء بإسم المستخدم وكلمات المرور الخاصة ببروتوكول SSH وجداول Ansible. كما أنها تسجل جميع المهام الخاصة بك، وتتكامل بشكل جيد مع بروتوكول الوصول إلى الدليل الخفيف (LDAP)، ولديها واجهة تطبيق بروتوكول نقل الحالة REST API رائعة. تحتوي Ansible Tower على القدرة على تطوير الخوادم والمثيلات إذا كنت بحاجة إلى تشغيل مهام متعددة على العقد البعيدة.

استنتاج

أنسيبل هو أداة مجانية تحتوي على العديد من الميزات. من خلال هذا الدليل، يجب أن تفهم الآن ما يمكن تحقيقه باستخدام هذه الأداة الغنية بالميزات! من إدارة التكوينات، استخدام مختلف وحدات أنسيبل لتنفيذ أوامر فرعية فورية، ودفاتر الأوامر في أنسيبل، ونشر العشرات من أدوات البرمجيات، أنسيبل هي واحدة من أكثر الأدوات للتحكم التلقائي استخدامًا.

الآن بعد أن لديك فكرة جيدة عن كيفية عمل أنسيبل، ما الذي تخطط لنشره باستخدامه؟

مقالات ذات صلة:


Source:
https://petri.com/what-is-ansible/