0Pricing
Ansible Academy · บทเรียน

การแคชและแหล่งข้อมูล Inventory หลายแห่ง

รวมและเร่งความเร็ว Inventory ขนาดใหญ่

การแคชและแหล่งข้อมูล Inventory หลายแห่ง เป็นบทเรียน Ansible Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Ansible Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Ansible Academy มีบทเรียนทั้งหมด 4 บทเรียน

การสอบถามใช้เวลา

การเรียกใช้ Cloud API ทุกครั้งที่ทำงานจะช้าเมื่อมีโฮสต์หลายร้อยเครื่อง ทุกครั้งที่เริ่มเพลย์จะต้องเสียเวลาไปกับการค้นหานี้อีกครั้ง ⏱️

เก็บผลลัพธ์ไว้ในแคช

การแคชรายการโฮสต์จะจัดเก็บข้อมูลโฮสต์ที่ดึงมา เพื่อให้การทำงานซ้ำใช้ข้อมูลเดิมแทนการสอบถามคลาวด์ใหม่ทุกครั้ง

เปิดใช้การแคช

เปิดใช้ในไฟล์กำหนดค่าปลั๊กอินหรือ ansible.cfg โดยตั้งค่าคีย์ cache เป็น true

cache: true
cache_plugin: jsonfile

เลือกระบบจัดเก็บแคช

cache_plugin จะเลือกตำแหน่งจัดเก็บข้อมูล เช่น jsonfile บนดิสก์ หรือ redis สำหรับพื้นที่จัดเก็บร่วมที่เร็วขึ้นระหว่างเครื่องต่าง ๆ

กำหนดระยะหมดเวลาอย่างเหมาะสม

cache_timeout ซึ่งระบุเป็นวินาที จะกำหนดระยะเวลาที่ข้อมูลในแคชยังคงใช้ได้ ก่อนที่ Ansible จะรีเฟรชข้อมูลจากแหล่งที่มา

cache_timeout: 3600

แคชเก่าคือกับดัก

ระยะหมดเวลาที่ยาวนานช่วยให้ทำงานเร็ว แต่ก็มีความเสี่ยง หากอินสแตนซ์เปลี่ยนแปลง คุณอาจกำหนดเป้าหมายไปยังโฮสต์ที่ไม่มีอยู่แล้ว ควรสร้างสมดุลระหว่างความเร็วกับความใหม่ของข้อมูลสำหรับกลุ่มเครื่องของคุณ

รวมแหล่งข้อมูลหลายแห่ง

โดยปกติคุณมักมีแหล่งข้อมูลมากกว่าหนึ่งแห่ง ระบุ -i ไปยังไดเรกทอรี แล้ว Ansible จะโหลดไฟล์รายการโฮสต์ทุกไฟล์ภายในนั้น

ansible-playbook -i inventories/ site.yml

แหล่งข้อมูลถูกรวมเข้าด้วยกัน

โฮสต์และกลุ่มจากทุกไฟล์จะถูกรวมเป็นรายการโฮสต์เดียว ดังนั้น AWS, Azure และไฟล์แบบคงที่จึงอยู่ร่วมกันได้ในการทำงานครั้งเดียว

ลำดับมีผลต่อตัวแปร

ไฟล์จะถูกโหลดตามลำดับตัวอักษร เมื่อแหล่งข้อมูลสองแห่งกำหนดตัวแปรโฮสต์เดียวกัน แหล่งข้อมูลที่มาทีหลังจะมีผล ดังนั้นลำดับการตั้งชื่อจึงสำคัญ

ผสานแบบคงที่กับแบบไดนามิก

ไฟล์แบบคงที่สามารถตรึงเครื่องพิเศษไว้ได้ ขณะที่ปลั๊กอินดึงเครื่องที่เหลือมา ทำให้คุณมีทั้งจุดยึดตายตัวและโฮสต์ที่ยืดหยุ่นซึ่งค้นพบโดยอัตโนมัติ

ตรวจสอบมุมมองที่รวมแล้ว

เรียกใช้ ansible-inventory กับไดเรกทอรีเพื่อดูกราฟสุดท้ายที่รวมแล้ว และยืนยันว่าแต่ละแหล่งข้อมูลมีส่วนร่วมตามที่คาดไว้

ansible-inventory -i inventories/ --graph

ตรวจสอบอย่างรวดเร็ว

โปรดนึกถึงวิธีรวมแหล่งข้อมูลรายการโฮสต์

ทบทวน

ใช้ การแคชร่วมกับระบบจัดเก็บและระยะหมดเวลาเพื่อลดการเรียกใช้ API และระบุ -i ไปยังไดเรกทอรีเพื่อรวมแหล่งข้อมูลรายการโฮสต์หลายแห่ง 💾

คำถามที่พบบ่อย

บทเรียน “การแคชและแหล่งข้อมูล Inventory หลายแห่ง” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การแคชและแหล่งข้อมูล Inventory หลายแห่ง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Ansible Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Ansible Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การแคชและแหล่งข้อมูล Inventory หลายแห่ง”

รวมและเร่งความเร็ว Inventory ขนาดใหญ่ คุณปฏิบัติ Ansible Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Ansible Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ansible Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “การแคชและแหล่งข้อมูล Inventory หลายแห่ง” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Ansible Academy นี้ได้ไหม

ได้ บทเรียน Ansible Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ข้อจำกัดแบบคงที่และรูปแบบปลั๊กอิน Inventory
  2. ปลั๊กอิน Inventory aws_ec2
  3. constructed: จัดกลุ่มโฮสต์ตามแท็ก
  4. การแคชและแหล่งข้อมูล Inventory หลายแห่ง
← กลับไปที่ Ansible Academy