Ansible: كيفية تحديث مخزون المضيف في وقت التشغيل وإضافة وقفة أثناء تنفيذ Playbook؟

نشرت: 2022-02-14

كيفية تحديث مخزون المضيف في وقت التشغيل وإضافة وقفة أثناء تنفيذ Playbook

في Crunchify ، قمنا بنشر عدد كبير من البرامج التعليمية حول Ansible وسيركز هذا البرنامج على How to Refresh Host Inventory في وقت التشغيل Add a Pause أثناء تنفيذ المهام.

لنفكر في سيناريو إنشاء Amazon EC2 VM البسيط:

  • أنت تقوم بتشغيل برنامج نصي من Amazon EC2 Ansible والذي ينتج عنه جهاز افتراضي وتقوم بالتقاط عناوين IP العامة بشكل ديناميكي في النص.
  • أثناء التنفيذ - أنت تضيف IP العام لهذا الجهاز الظاهري إلى ملف hosts ضمن مجموعة [crunchify] .
  • في المهمة اللاحقة ، استخدم عنوان IP العام المُضاف حديثًا والذي تمت إضافته إلى ملف المضيفين وقم بتثبيت Java عليه.
  • إذا كنت لا تستخدم refresh_inventory ، فلن تلتقط عنوان IP المُضاف حديثًا وسترى الفشل كما هو مذكور أدناه.

بالإضافة إلى ذلك ، هل لديك أي من الأسئلة أدناه؟

  • كيفية إعادة تحميل dynamic inventory
  • خطوات تحديث المخزون الديناميكي الجديرة بالثقة
  • هل يمكنني تحديث مخزون المضيفين واستخدام مضيفين جدد في same playbook ؟
  • فشل Ansible Dynamic Inventory في الحصول على أحدث معلومات EC2 - لماذا؟

هيا بنا نبدأ:

الخطوة 1

اتبع البرنامج التعليمي تمامًا حول كيفية spawn Amazon EC2 VM instance remotely using Ansible ؟

كيفية إنشاء مثيل Amazon EC2 وبدء تشغيله وتكوينه باستخدام برنامج Ansible Script البسيط؟ (تفرخ VM عن بعد)

الخطوة 2

ابحث عن المهمة أدناه في ملف crunchify-ec2.yml .

كما ترى هنا ، بعد إنشاء Amazon EC2 VM ، فإننا نلتقط عنوان IP العام لجهاز VM ونخزنه في ملف hosts

إذا كان لديك بعض المهام الإضافية في نفس .yml file فلن يتم تحميل عناوين IP تلقائيًا. ما عليك سوى إضافة السطر أدناه إلى Ansible Playbook الخاص بك وسوف يقوم تلقائيًا بتحديث كل قائمة الجرد الخاصة بك.

بنفس الطريقة إذا كنت تريد إضافة الانتظار فقط أضف السطر التالي:

ستقدم العلامة أعلاه فترة انتظار طويلة إلى كتاب اللعب Ansible الخاص بك.

تحديث Ansible Playbook لـ Amazon EC2 مع الانتظار وتحديث التعريف

تحديث Ansible Playbook لـ Amazon EC2 مع الانتظار وتحديث التعريف - تلميحات Crunchify

هذا هو نموذج الاختبار الخاص بي Ansible Playbook:

اسم الملف: crunchify-Refresh-hostfile-pause-1min.yml

انتاج:

ما عليك سوى تشغيل Ansible Playbook مرة أخرى وسترى نتيجة ناجحة على النحو التالي.

هذا هو. تهانينا. لقد قمت بتشغيل Ansible Playbook بنجاح.

إذا كنت تبحث عن جميع دروس Ansible ، فالرجاء اتباع صفحة Ansible Archive.