إحدى أهم ميزات Ansible هي قدرته على إدارة أجهزة متعددة في وقت واحد. للقيام بذلك، يعمل Ansible مع قائمة من المضيفين والتي هي في الأساس قائمة من العقد التي سيديرها Ansible.
في مخزون Ansible، يكون لكل جهاز أو مضيف اسم يحكمه متغير المخزون_اسم المضيف. يشير هذا المتغير إلى اسم العقدة الحالية التي يعمل عليها Ansible حاليًا.
في هذا البرنامج التعليمي، سوف نتعلم كيف يمكننا استخدام المعلمة مخزون_اسم المضيف الذي يمكن أن يسمح لك بتنفيذ العمليات الخاصة بالعقدة.
ما هو Ansible Inventory_Hostname؟
عندما نقوم بتشغيل دليل التشغيل على قائمة المضيفين، يتكرر Ansible على كل مضيف في القائمة. لكل مضيف، يتم تعيين المتغير مخزون_اسم_المضيف على اسم المضيف الذي يعمل حاليًا.
على سبيل المثال، لدينا ملف المخزون على النحو التالي:
[خوادم الويب]
web1.linuxhint.com
web2.linuxhint.com
عندما يقوم Ansible بتشغيل مهمة أو دليل تشغيل يستهدف مجموعة خوادم الويب، يتم تعيين مخزون_اسم المضيف على 'web1.linuxhint.com' أثناء التكرار الذي يعالج ذلك المضيف و'web2.linuxhint.com' للمضيف التالي.
كيفية استخدام متغير Inventory_Hostname
دعونا نغطي بعض الأمثلة العملية لاستخدام المخزون_اسم المضيف في قواعد اللعبة Ansible.
ابدأ بإنشاء ملف مخزون يحتوي على الإدخالات التالية:
[خوادم الويب]web1.linuxhint.com
web2.linuxhint.com
بعد ذلك، نكتب قواعد اللعبة التي تستخدم المتغير مخزون_اسم المضيف كما هو موضح في المثال التالي:
---- الاسم: عرض اسم مضيف المخزون
المضيفين: خوادم الويب
مهام:
- الاسم: اطبع اسم مضيف المخزون
التصحيح:
msg: 'المضيف الحالي هو: {{ مخزون_اسم المضيف }}'
انتاج:
المهمة [طباعة اسم مضيف المخزون] ******************************حسنًا: [172.18.0.9] => {
'msg': 'المضيف الحالي هو: web1.linuxhint.com'
}
حسنًا: [172.18.0.9] => {
'msg': 'المضيف الحالي هو: web2.linuxhint.com'
}
خاتمة
يعد المتغير مخزون_اسم المضيف ميزة أساسية وقوية في Ansible تتيح لنا الحصول على اسم العقدة الحالية التي تتم إدارتها. نأمل أن تستمتع بهذا المنشور.