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

ตัวแปรโฮสต์และกลุ่มในรายการโฮสต์

ผูกตัวแปรการเชื่อมต่อและการตั้งค่าเข้ากับโฮสต์

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

ตัวแปรอยู่ร่วมกับโฮสต์

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

ตัวแปรโฮสต์ใน INI

ใน INI ให้เขียนคู่ key=value ต่อจากโฮสต์ในบรรทัดเดียวกัน ค่าเหล่านี้จะมีผลเฉพาะกับโฮสต์เครื่องนั้น

web1.example.com http_port=8080

ตัวแปรการเชื่อมต่อสำคัญที่สุด

ตัวแปรพิเศษอย่าง ansible_user และ ansible_host จะบอก Ansible ว่าจะเชื่อมต่ออย่างไร ไม่ใช่เพียงบอกว่าจะตั้งค่าอะไร

db1.example.com ansible_user=deploy ansible_port=2222

แทนที่ที่อยู่จริง

ใช้ ansible_host เพื่อกำหนดชื่อที่อ่านง่ายในรายการโฮสต์ ขณะเดียวกันก็ชี้ไปยัง IP จริงเบื้องหลัง

app1 ansible_host=10.0.0.21

ตัวแปรกลุ่มใน INI

ส่วน [group:vars] ใช้กำหนดค่าเดียวให้กับโฮสต์ทุกเครื่องในกลุ่มนั้น ตั้งค่าเพียงครั้งเดียวและใช้ร่วมกันได้ทุกที่

[web:vars]
ansible_user=ubuntu

ตัวแปรในรายการโฮสต์ YAML

ใน YAML ให้เพิ่มส่วน vars ลงในกลุ่ม หรือกำหนดการแมปค่าต่าง ๆ ให้กับโฮสต์แทนการปล่อยให้เป็นโคลอนว่าง

web:
  vars:
    ansible_user: ubuntu
  hosts:
    web1.example.com:

ตัวแปร YAML รายโฮสต์

กำหนดค่าเฉพาะให้โฮสต์หนึ่งเครื่องโดยซ้อนค่าเหล่านั้นไว้ใต้คีย์ของโฮสต์ ตำแหน่งโคลอนว่างจะกลายเป็นการแมป

hosts:
  web1.example.com:
    http_port: 8080

โฮสต์มีผลเหนือกลุ่ม

เมื่อโฮสต์และกลุ่มของโฮสต์กำหนดตัวแปรเดียวกัน ค่าของโฮสต์จะมีผล ค่าที่เฉพาะเจาะจงกว่าจะมีผลเหนือค่าทั่วไปเสมอ

ใช้ตัวแปรในงาน

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

- debug:
    msg: "Serving on port {{ http_port }}"

ตรวจสอบค่าที่แก้ไขแล้ว

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

ansible-inventory -i inventory.ini --host web1.example.com

รักษารายการโฮสต์ให้กระชับ

การใส่ตัวแปรไว้ในบรรทัดไม่กี่รายการนั้นทำได้ แต่การตั้งค่าจำนวนมากควรย้ายไปไว้ในไฟล์ group_vars ในภายหลัง รายการโฮสต์ควรบอกว่าใครอยู่ในระบบ ไม่ใช่รายละเอียดว่าระบบทำงานอย่างไร

ตรวจสอบความเข้าใจอย่างรวดเร็ว

โฮสต์และกลุ่มของโฮสต์กำหนด ansible_user ไว้ทั้งคู่ Ansible จะใช้ค่าใด

ทบทวน

แนบตัวแปรไว้กับโฮสต์หรือกลุ่มในรูปแบบ INI หรือ YAML เพื่อกำหนดค่าการเชื่อมต่อและการตั้งค่า หากขัดแย้งกัน ค่าโฮสต์จะมีผลเหนือค่ากลุ่ม 🔧

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

บทเรียน “ตัวแปรโฮสต์และกลุ่มในรายการโฮสต์” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “ตัวแปรโฮสต์และกลุ่มในรายการโฮสต์”

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

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

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

บทเรียน “ตัวแปรโฮสต์และกลุ่มในรายการโฮสต์” ใช้เวลานานแค่ไหน

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

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

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

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

  1. ไฟล์รายการโฮสต์แบบ INI เทียบกับ YAML
  2. การจัดกลุ่มโฮสต์: web, db และ app
  3. กลุ่มซ้อนกันและคีย์เวิร์ด children
  4. ตัวแปรโฮสต์และกลุ่มในรายการโฮสต์
← กลับไปที่ Ansible Academy