"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > البدء باستخدام Ansible - دليل المبتدئين: سلسلة أدوات DevOps ليوم من الأيام

البدء باستخدام Ansible - دليل المبتدئين: سلسلة أدوات DevOps ليوم من الأيام

تم النشر بتاريخ 2024-11-08
تصفح:960

Getting Started with Ansible - The Beginner’s Guide : Day of days DevOps Tools Series

مرحبًا بك في اليوم الثلاثين من سلسلة "50 أداة DevOps في 50 يومًا"! اليوم، سنستكشف Ansible، إحدى أهم الأدوات في مجموعة أدوات DevOps. ستعرّفك هذه المدونة على أساسيات Ansible، وستفصل مكوناتها الرئيسية وتوضح لك كيفية البدء بأمثلة بسيطة. سنبقي الأمور واضحة، مما يجعل هذه نقطة انطلاق مثالية للمبتدئين.

ما هو أنسيبل؟

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

الميزات الرئيسية:

Agentless: لا يتطلب Ansible تثبيت أي وكيل على الأنظمة البعيدة، مما يقلل من الحمل.
كتب اللعب YAML القابلة للقراءة بواسطة الإنسان: يستخدم Ansible YAML (لغة ترميزية أخرى) لكتابة كتب اللعب، التي يسهل قراءتها وكتابتها.
القوة: يمكنك تشغيل نفس قواعد اللعبة عدة مرات دون القلق بشأن التغييرات غير المقصودة.

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

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

بناء الجملة البسيط: تستخدم Ansible YAML لقواعد اللعبة الخاصة بها، والتي يسهل قراءتها وكتابتها، مما يجعلها في متناول الأشخاص الجدد في مجال الأتمتة.

العجز: يضمن Ansible تحقيق الحالة المطلوبة بغض النظر عن الحالة الحالية. وهذا يعني أن تشغيل قواعد اللعبة عدة مرات لن يسبب مشكلات أو إجراءات مكررة.

دعم مجتمعي واسع النطاق: مع مجتمع كبير ونشط، تتمتع Ansible بثروة من الأدوار والوحدات وكتيبات اللعب التي يمكن إعادة استخدامها وتخصيصها لتناسب احتياجاتك.

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

المكونات الأساسية لـ Ansible

المخزون: هذه قائمة بالمضيفين (الخوادم) التي يديرها Ansible. يمكن أن تكون المخزونات ثابتة (محددة في ملف) أو ديناميكية (يتم إنشاؤها بواسطة برنامج نصي).

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

كتب اللعب: كتب اللعب هي لغة التكوين والنشر والتنسيق الخاصة بـ Ansible. وهي مكتوبة بلغة YAML وتصف سلسلة من المهام التي سيتم تنفيذها على المضيفين.

الأدوار: تسمح لك الأدوار بتقسيم أدلة التشغيل إلى مكونات قابلة لإعادة الاستخدام، مما يسهل إدارة وتنظيم المشاريع الكبيرة.

المتغيرات: يتم استخدام المتغيرات لتخزين القيم التي يمكن إعادة استخدامها في قواعد اللعبة. إنها توفر المرونة وتسمح لك بتخصيص قواعد اللعبة بدون قيم الترميز الثابت.

المعالجات: المعالجات هي مهام خاصة يتم تشغيلها فقط عند تشغيلها بواسطة مهام أخرى. يتم استخدامها غالبًا لأشياء مثل إعادة تشغيل الخدمات.

إعداد Ansible

لنبدأ بتثبيت Ansible على عقدة التحكم الخاصة بك. عملية التثبيت واضحة ومباشرة وتختلف قليلاً حسب نظام التشغيل الخاص بك.

تثبيت Ansible على Ubuntu/Debian

sudo apt update
sudo apt install ansible -y

تثبيت Ansible على CentOS/RHEL

sudo yum install epel-release -y
sudo yum install ansible -y

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

ansible --version

كتابة كتاب اللعب الأول الخاص بك

فلنقم بإنشاء دليل بسيط لتثبيت Nginx على خادم بعيد. سنبدأ بتحديد مخزوننا.

الخطوة 1: إنشاء ملف الجرد
قم بإنشاء ملف باسم hosts:

[webservers]
34.42.111.35
34.42.111.66

يحدد ملف المخزون هذا مجموعة تسمى خوادم الويب التي تحتوي على خادمين.

الخطوة 2: كتابة قواعد اللعبة
بعد ذلك، سنكتب دليلًا لتثبيت Nginx وتشغيله على هذه الخوادم.

قم بإنشاء ملف باسم nginx_setup.yml:

---
- name: Install Nginx on web servers
  hosts: webservers
  become: yes

  tasks:
    - name: Install Nginx
      apt:
        name: nginx
        state: present

    - name: Start Nginx service
      service:
        name: nginx
        state: started
        enabled: true

فهم كتاب اللعب

الاسم: وصف يمكن قراءته بواسطة الإنسان لما يفعله كتاب قواعد اللعبة أو المهمة.
المضيفون: يحدد مجموعة المضيفين (من المخزون) حيث يجب تشغيل قواعد اللعبة.
become: يشير إلى أنه يجب على Ansible استخدام امتيازات مرتفعة (مثل sudo).
المهام: يسرد الخطوات التي سينفذها Ansible. نقوم هنا بتثبيت Nginx والتأكد من بدء الخدمة وتمكينها عند الإقلاع.

الخطوة 3: تشغيل دليل التشغيل
لتنفيذ قواعد اللعبة، قم بتشغيل الأمر التالي:

ansible-playbook -i hosts nginx_setup.yml

يخبر هذا الأمر Ansible بتشغيل المهام في nginx_setup.yml على المضيفين المحددين في ملف مخزون المضيفين.

سيناريو الحياة الواقعية: أتمتة تثبيت الحزمة

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

إليك دليل بسيط لتثبيت حزم متعددة:

---
- name: Install essential packages
  hosts: all
  become: yes

  tasks:
    - name: Install packages
      apt:
        name:
          - git
          - curl
          - htop
        state: present

في دليل التشغيل هذا، يقوم Ansible بتثبيت git وcurl وhtop على جميع الخوادم المدرجة في المخزون. تضمن الوحدة apt تثبيت كل حزمة.

مثال من واقع الحياة: تبسيط إدارة المستخدم

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

إليك كيفية القيام بذلك:

---
- name: Create a new user
  hosts: all
  become: yes

  tasks:
    - name: Create user "devuser"
      user:
        name: devuser
        state: present
        groups: sudo

يقوم دليل التشغيل هذا بإنشاء مستخدم جديد على جميع الخوادم المُدارة وإضافته إلى مجموعة sudo.

فوائد استخدام Ansible

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

خاتمة

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

غدًا، سنتعمق في موضوعات Ansible الأكثر تقدمًا، ونستكشف الميزات التي يمكن أن تنقل عملية التشغيل الآلي لديك إلى المستوى التالي. ابقوا متابعين!

؟ تأكد من متابعتي على LinkedIn للحصول على آخر التحديثات: Shiivam Agnihotri

بيان الافراج تم إعادة نشر هذه المقالة على: https://dev.to/shivam_agnihotri/getting-started-with-ansible-the-beginners-guide-day-30-of-50-days-devops-tools-series-1iae?1 أي التعدي، يرجى الاتصال بـ [email protected] للحذف
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3