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

ใช้ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

  1. Facts คืออะไรและเหตุใดจึงสำคัญ
  2. สำรวจ Facts ด้วยโมดูล setup
  3. ใช้ ansible_facts ในงาน
  4. ปิดการรวบรวม Facts เพื่อเพิ่มความเร็ว
← กลับไปที่ Ansible Academy