constructed: จัดกลุ่มโฮสต์ตามแท็ก
สร้างกลุ่มจากข้อมูลเมตาของคลาวด์
constructed: จัดกลุ่มโฮสต์ตามแท็ก เป็นบทเรียน Ansible Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Ansible Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Ansible Academy มีบทเรียนทั้งหมด 4 บทเรียน
โฮสต์ดิบยังไม่เพียงพอ
รายชื่ออินสแตนซ์ EC2 แบบแบนกำหนดเป้าหมายได้ยาก คุณต้องการกลุ่มอย่าง webservers หรือ production ที่สร้างจากข้อมูลเมตาของแต่ละโฮสต์
สองแนวทางในการจัดกลุ่ม
คุณสามารถจัดกลุ่มภายในปลั๊กอิน aws_ec2 ด้วย keyed_groups หรือเพิ่มปลั๊กอิน constructed ด้านบนเพื่อใช้ตรรกะที่ยืดหยุ่นยิ่งขึ้น
keyed_groups จากแท็ก
ตัวเลือก keyed_groups จะเปลี่ยนค่าของแท็กให้เป็นชื่อกลุ่มโดยอัตโนมัติ โดยสร้างหนึ่งกลุ่มต่อหนึ่งค่าที่แตกต่างกัน
keyed_groups:
- key: tags.Environment
prefix: envคำนำหน้าช่วยรักษาความสะอาดของชื่อ
prefix อย่าง env จะเปลี่ยนค่า prod ให้เป็นกลุ่ม env_prod เพื่อไม่ให้แท็กคลาวด์ชนกับชื่อกลุ่มของคุณเอง
ปลั๊กอิน constructed
ปลั๊กอิน constructed จะเพิ่มกลุ่มและตัวแปรให้กับโฮสต์ที่มีอยู่ โดยใช้ Jinja2 หลังจากแหล่งข้อมูลอื่นโหลดโฮสต์เหล่านั้นแล้ว
plugin: constructedgroups: สร้างตามนิพจน์
ภายใต้ groups นิพจน์ Jinja2 จะตัดสินการเป็นสมาชิก โฮสต์ที่นิพจน์ให้ผลเป็นจริงจะเข้าร่วมกลุ่มนั้น
groups:
is_prod: "tags.Environment == 'prod'"compose: กำหนดตัวแปรโฮสต์
คีย์ compose จะกำหนดตัวแปรโฮสต์ใหม่จากนิพจน์ เช่น สร้างชื่อแอปจากแท็กเพื่อใช้งานในภายหลัง
compose:
app: tags.Service | default('unknown')keyed_groups ใช้ที่นี่ได้เช่นกัน
constructed ยังรองรับ keyed_groups ทำให้คุณสร้างชื่อกลุ่มแบบไดนามิกจากข้อเท็จจริงหรือตัวแปรใด ๆ ที่มีอยู่แล้วได้
strict ตรวจจับการพิมพ์ผิด
ตั้งค่า strict: true เพื่อให้นิพจน์ที่ไม่ถูกต้องแสดงข้อผิดพลาดอย่างชัดเจน แทนที่จะข้ามโฮสต์ที่คุณต้องการจัดกลุ่มไปโดยไม่แจ้งให้ทราบ
strict: trueกำหนดเป้าหมายกลุ่มได้อย่างเป็นระเบียบ
เมื่อมีกลุ่มแล้ว คุณก็เขียนเพลย์ให้ทำงานกับกลุ่มเหล่านั้นได้โดยตรง เช่น hosts: is_prod โดยไม่ต้องมีรายชื่อโฮสต์แบบคงที่อยู่ที่ใดเลย
- hosts: is_prod
roles:
- webserverเชื่อมโยงแหล่งข้อมูลตามลำดับ
ระบุไดเรกทอรีของไฟล์รายการโฮสต์ให้ Ansible โหลด aws_ec2 ก่อน จากนั้น constructed จะเพิ่มข้อมูลให้โฮสต์เหล่านั้นด้วยกลุ่มของคุณ
ตรวจสอบอย่างรวดเร็ว
โปรดนึกถึงตัวเลือกที่สร้างกลุ่มจากแท็กโดยอัตโนมัติ
ทบทวน
ใช้ keyed_groups ร่วมกับกลุ่มและ compose ของปลั๊กอิน constructed เพื่อเปลี่ยนแท็กคลาวด์ให้เป็นกลุ่ม Ansible ที่สะอาดและกำหนดเป้าหมายได้ 🏷️
คำถามที่พบบ่อย
บทเรียน “constructed: จัดกลุ่มโฮสต์ตามแท็ก” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “constructed: จัดกลุ่มโฮสต์ตามแท็ก” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Ansible Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Ansible Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “constructed: จัดกลุ่มโฮสต์ตามแท็ก”
สร้างกลุ่มจากข้อมูลเมตาของคลาวด์ คุณปฏิบัติ Ansible Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Ansible Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ansible Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “constructed: จัดกลุ่มโฮสต์ตามแท็ก” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Ansible Academy นี้ได้ไหม
ได้ บทเรียน Ansible Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ข้อจำกัดแบบคงที่และรูปแบบปลั๊กอิน Inventory
- ปลั๊กอิน Inventory aws_ec2
- constructed: จัดกลุ่มโฮสต์ตามแท็ก
- การแคชและแหล่งข้อมูล Inventory หลายแห่ง