ตัวแปรโฮสต์และกลุ่มในรายการโฮสต์
ผูกตัวแปรการเชื่อมต่อและการตั้งค่าเข้ากับโฮสต์
ตัวแปรโฮสต์และกลุ่มในรายการโฮสต์ เป็นบทเรียน 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ไฟล์รายการโฮสต์แบบ INI เทียบกับ YAML
- การจัดกลุ่มโฮสต์: web, db และ app
- กลุ่มซ้อนกันและคีย์เวิร์ด children
- ตัวแปรโฮสต์และกลุ่มในรายการโฮสต์