ใช้ ansible_facts ในงาน
แยกแขนงตาม Facts ของ OS หน่วยความจำ และ IP
ใช้ ansible_facts ในงาน เป็นบทเรียน Ansible Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Ansible Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Ansible Academy มีบทเรียนทั้งหมด 4 บทเรียน
จากข้อมูลสู่การตัดสินใจ
ข้อมูลข้อเท็จจริงที่รวบรวมมาไม่มีประโยชน์หากคุณไม่นำไปใช้ตัดสินใจ ต่อไปคุณจะดึงค่าจาก ansible_facts มาใช้ในงานโดยตรง 🌟
อ้างอิงข้อมูลข้อเท็จจริง
ใช้ไวยากรณ์ {{ }} แบบเดียวกับตัวแปรทั่วไป ภายในวงเล็บปีกกาให้ระบุชื่อข้อมูลข้อเท็จจริงที่ต้องการ เช่น distribution ของโฮสต์
- debug:
msg: "OS is {{ ansible_distribution }}"เข้าถึงผ่านพจนานุกรมได้เช่นกัน
คุณยังสามารถอ่านข้อมูลข้อเท็จจริงผ่านพจนานุกรม ansible_facts โดยใช้คีย์ในวงเล็บเหลี่ยม ทั้งสองรูปแบบชี้ไปยังข้อมูลเดียวกัน
{{ ansible_facts['distribution'] }}เลือกเส้นทางตาม OS
ใช้ข้อมูลข้อเท็จจริงร่วมกับ when เพื่อเรียกใช้งานเฉพาะบนโฮสต์ที่ตรงเงื่อนไข เช่น ติดตั้งแพ็กเกจเฉพาะบนระบบ Debian
when: ansible_os_family == "Debian"เลือกแพ็กเกจที่ถูกต้อง
ข้อมูลข้อเท็จจริงทำให้งานเดียวรองรับดิสทริบิวชันได้หลายแบบ เลือก apache2 หรือ httpd ตามตระกูล OS แทนการเขียนเพลย์บุ๊กสองชุด
name: "{{ 'apache2' if ansible_os_family == 'Debian' else 'httpd' }}"ใช้ข้อมูลข้อเท็จจริงที่เป็นตัวเลข
ข้อมูลข้อเท็จจริงอย่าง ansible_memtotal_mb เป็นตัวเลข คุณจึงเปรียบเทียบได้และข้ามงานบนโฮสต์ที่มีขนาดเล็กเกินไป
when: ansible_memtotal_mb > 2048เข้าถึงค่าที่ซ้อนอยู่
สำหรับข้อมูลข้อเท็จจริงที่ซ้อนกัน ให้เชื่อมคีย์ด้วยจุด ที่อยู่ IPv4 เริ่มต้นอยู่ใต้ ansible_default_ipv4 แล้วจึงอยู่ใต้ address
{{ ansible_default_ipv4.address }}ข้อมูลข้อเท็จจริงในแม่แบบ
ชื่อข้อมูลข้อเท็จจริงเดียวกันใช้ได้ภายในแม่แบบ Jinja2 คุณสามารถใส่ hostname หรือ IP ของโฮสต์ลงในไฟล์การกำหนดค่าที่สร้างขึ้นได้โดยตรง
server_name {{ ansible_hostname }};วนซ้ำผ่านข้อมูลข้อเท็จจริงแบบรายการ
ข้อมูลข้อเท็จจริงบางรายการเป็นรายการ เช่น ansible_interfaces คุณสามารถวนซ้ำเพื่อทำงานกับอินเทอร์เฟซเครือข่ายทุกตัวที่โฮสต์มี
loop: "{{ ansible_interfaces }}"ตรวจสอบก่อนนำไปใช้
ไม่แน่ใจค่าที่แน่นอนของข้อมูลข้อเท็จจริงใช่ไหม พิมพ์ค่าด้วย debug ก่อน แล้วจึงสร้างตรรกะที่อาศัยค่านั้น
- debug:
var: ansible_distribution_versionเพลย์บุ๊กเดียว รองรับโฮสต์หลายเครื่อง
เนื่องจากข้อมูลข้อเท็จจริงแยกตามโฮสต์ งานที่ขับเคลื่อนด้วยข้อมูลข้อเท็จจริงจึงทำให้เพลย์บุ๊กเดียวทำงานได้อย่างถูกต้องกับกลุ่มเครื่องที่หลากหลาย
ตรวจสอบอย่างรวดเร็ว
คุณจะเรียกใช้งานเฉพาะบนโฮสต์ในตระกูล Debian ได้อย่างไร
สรุป
คุณอ่านข้อมูลข้อเท็จจริงด้วย {{ }} เลือกเส้นทางด้วย when เข้าถึงค่าที่ซ้อนกัน และวนซ้ำผ่านข้อมูลข้อเท็จจริงแบบรายการ เพื่อทำให้งานปรับตามสภาพแวดล้อมได้ ✨
คำถามที่พบบ่อย
บทเรียน “ใช้ ansible_facts ในงาน” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ใช้ ansible_facts ในงาน” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Ansible Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Ansible Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ใช้ ansible_facts ในงาน”
แยกแขนงตาม Facts ของ OS หน่วยความจำ และ IP คุณปฏิบัติ Ansible Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Ansible Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ansible Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “ใช้ ansible_facts ในงาน” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Ansible Academy นี้ได้ไหม
ได้ บทเรียน Ansible Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- Facts คืออะไรและเหตุใดจึงสำคัญ
- สำรวจ Facts ด้วยโมดูล setup
- ใช้ ansible_facts ในงาน
- ปิดการรวบรวม Facts เพื่อเพิ่มความเร็ว