مجلدا group_vars وhost_vars
نظّم المتغيرات حسب المضيف والمجموعة
مجلدا group_vars وhost_vars درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
توقّفوا عن تثبيت المتغيرات داخل playbook
يؤدي دفن القيم داخل playbooks إلى الفوضى بسرعة. يحمّل Ansible المتغيرات تلقائيًا من دليلي group_vars وhost_vars بدلًا من ذلك. 🗂️
كيفية تحميل group_vars
يُطبّق الملف الموجود في group_vars والمسمّى باسم مجموعة على كل مضيف في تلك المجموعة، من دون الحاجة إلى تضمين يدوي.
# group_vars/webservers.yml
http_port: 80
worker_processes: 4المجموعة all
يضبط الملف الخاص group_vars/all.yml الإعدادات الافتراضية لكل مضيف في inventory، وهو مثالي للإعدادات العامة على مستوى المؤسسة.
# group_vars/all.yml
timezone: UTC
ntp_server: pool.ntp.orgكيفية تحميل host_vars
تُسمّى الملفات الموجودة في host_vars باسم مضيف واحد، ولا تنطبق إلا على ذلك الجهاز، ما يجعلها مثالية للتجاوزات الخاصة بكل خادم.
# host_vars/web01.example.com.yml
server_id: 1
backup_disk: /dev/sdbيجب أن يطابق الاسم
يجب أن يطابق اسم الملف اسم المجموعة أو المضيف تمامًا كما يظهر في inventory، وإلا فسيتخطى Ansible تحميله بصمت.
ملفات أو أدلة
يمكن أن يكون كل إدخال ملف .yml واحدًا أو دليلًا يضم عدة ملفات. يدمج Ansible كل الملفات الموجودة داخل الدليل معًا.
group_vars/
webservers/
network.yml
tuning.ymlيتغلب host_vars على group_vars
عندما يظهر المتغير نفسه في كليهما، يتغلب host_vars على group_vars. فالنطاق الأكثر تحديدًا يتجاوز دائمًا النطاق الأوسع.
أولوية المجموعة الفرعية
بين المجموعات، تتجاوز المجموعة الفرعية مجموعتها الأصلية، ولذلك تمنحكم المجموعات المتداخلة إعدادات افتراضية متدرجة ويمكن التنبؤ بها.
بالنسبة إلى inventory
يبحث Ansible عن هذه الأدلة بجوار ملف inventory أولًا، وكذلك بجوار playbook الذي يجري تشغيله.
أشيروا إليها بالطريقة المعتادة
تستخدمون هذه المتغيرات داخل المهام مثل أي متغيرات أخرى تمامًا، باستخدام بنية {{ }}. ولا يظهر مصدرها للمهمة.
- name: Open the web port
debug:
msg: "Port is {{ http_port }}"playbooks أكثر نظافة
بعد فصل البيانات خارجيًا، تصف plays لديكم ما يجب فعله، بينما يحتفظ group_vars وhost_vars بالقيم الخاصة بكل بيئة. 🎯
اختبار سريع
تم ضبط متغير في كل من group_vars وhost_vars. أي قيمة ستفوز؟
خلاصة
تعلّمتم كيف يُحمّل group_vars وhost_vars تلقائيًا بحسب الاسم، وأن المضيف يتغلب على المجموعة، والمجموعة الفرعية تتغلب على الأصلية. افصلوا البيانات خارجيًا، وحافظوا على نظافة plays. ✅
الأسئلة الشائعة
هل درس «مجلدا group_vars وhost_vars» مجاني؟
نعم — نص درس «مجلدا group_vars وhost_vars» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
ماذا ستتعلم في «مجلدا group_vars وhost_vars»؟
نظّم المتغيرات حسب المضيف والمجموعة تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟
لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «مجلدا group_vars وhost_vars»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟
نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تخطيط المجلدات الموصى به
- مجلدا group_vars وhost_vars
- تقسيم Playbooks باستخدام import وinclude
- التسمية والتعليقات والأسلوب القابل للتوسّع