Ansible: วิธีรีเฟรชโฮสต์สินค้าคงคลังที่รันไทม์และเพิ่มการหยุดชั่วคราวขณะดำเนินการ Playbook

เผยแพร่แล้ว: 2022-02-14

วิธีรีเฟรชพื้นที่โฆษณาโฮสต์ที่รันไทม์และเพิ่มการหยุดชั่วคราวขณะดำเนินการ Playbook

ใน Crunchify เราได้เผยแพร่บทช่วยสอนจำนวนหนึ่งเกี่ยวกับ Ansible และบทนี้จะเน้นที่ How to Refresh Host Inventory ที่รันไทม์และ Add a Pause ขณะดำเนินการงาน

มาลองพิจารณาสถานการณ์การสร้าง Amazon EC2 VM อย่างง่ายนี้กัน:

  • คุณกำลังเรียกใช้สคริปต์ Amazon EC2 Ansible ซึ่งวางไข่ VM และคุณกำลังจับ IP สาธารณะในสคริปต์แบบไดนามิก
  • ระหว่างดำเนินการ – คุณกำลังเพิ่ม Public IP ของ VM นั้นไปยังไฟล์ hosts ภายใต้กลุ่ม [crunchify]
  • ในงานต่อมา ให้ใช้ Public IP ที่เพิ่มใหม่ซึ่งถูกเพิ่มในไฟล์โฮสต์และติดตั้ง Java บนมัน
  • หากคุณไม่ได้ใช้ refresh_inventory ระบบจะไม่รับ IP ที่เพิ่มใหม่ และคุณจะเห็นความล้มเหลวเช่นเดียวกับด้านล่าง

นอกจากนี้ คุณมีคำถามด้านล่างหรือไม่?

  • วิธีโหลด dynamic inventory ของ Ansible
  • ขั้นตอนการรีเฟรชสินค้าคงคลังแบบไดนามิก Ansible
  • ฉันสามารถอัปเดตรายการโฮสต์และใช้โฮสต์ใหม่ใน 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 playbook ของคุณ

อัปเดต Ansible Playbook สำหรับ Amazon EC2 พร้อมการรอและรีเฟรช Meta

อัปเดต Ansible Playbook สำหรับ Amazon EC2 พร้อมการรอและรีเฟรช Meta - Crunchify Tips

นี่คือตัวอย่างการทดสอบ Ansible Playbook ของฉัน:

ชื่อไฟล์: crunchify-refresh-hostfile-pause-1min.yml

เอาท์พุท:

เพียงเรียกใช้ Ansible Playbook ของคุณอีกครั้งและคุณจะเห็นผลลัพธ์ที่สำเร็จดังด้านล่าง

แค่นั้นแหละ. ยินดีด้วย. คุณรัน Ansible Playbook สำเร็จแล้ว

หากคุณกำลังมองหาบทแนะนำ Ansible ทั้งหมด โปรดติดตามหน้า Ansible Archive