0Pricing
DevOps Bootcamp · บทเรียน

กลุ่มซ้อนกันและคีย์เวิร์ด children

สร้างลำดับชั้นของกลุ่มย่อย

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

กลุ่มภายในกลุ่ม

บางครั้งคุณอาจต้องการสร้างกลุ่มที่ประกอบด้วยกลุ่มอื่น ๆ Ansible เรียกสิ่งนี้ว่ากลุ่มของกลุ่ม ซึ่งสร้างด้วยคีย์เวิร์ด children

คีย์เวิร์ด children ใน INI

ใน INI ส่วนหัวอย่าง [prod:children] จะประกาศกลุ่มแม่ที่สมาชิกเป็นชื่อกลุ่มอื่น ไม่ใช่โฮสต์

[prod:children]
web
db

กำหนดกลุ่มลูกก่อน

กลุ่มลูกต้องมีอยู่พร้อมโฮสต์ของตัวเอง จากนั้นกลุ่มแม่จึงเพียงอ้างถึงกลุ่มเหล่านั้นด้วยชื่อ

[web]
web1.example.com

[db]
db1.example.com

โฮสต์ถูกรวมขึ้นไปยังกลุ่มแม่

เลือก prod แล้ว Ansible จะเข้าถึงโฮสต์ทุกเครื่องภายใน web และ db ชื่อเดียวจึงครอบคลุมสภาพแวดล้อมทั้งหมดได้

ansible prod -i inventory.ini --list-hosts

การซ้อนกลุ่มใน YAML

YAML รองรับการซ้อนโดยธรรมชาติ กลุ่มหนึ่งสามารถแสดงกลุ่มอื่น ๆ ไว้ใต้คีย์ children ของตนเอง และซ้อนได้ลึกเท่าที่คุณต้องการ

all:
  children:
    prod:
      children:
        web:
        db:

สร้างลำดับชั้นจริง

รวมชั้นต่าง ๆ เช่น ภูมิภาคและบทบาทเข้าด้วยกัน: datacenter ประกอบด้วย prod ซึ่งประกอบด้วย web และ db รายการโฮสต์จึงสะท้อนโครงสร้างองค์กรของคุณ

[datacenter:children]
prod
staging

โฮสต์สืบทอดกลุ่มแม่ทุกระดับ

หาก web เป็นกลุ่มลูกของ prod โฮสต์เว็บก็จะเป็นสมาชิกของทั้ง web และ prod รวมถึง all การเป็นสมาชิกจะส่งต่อขึ้นไปโดยอัตโนมัติ

ตัวแปรไหลลงตามลำดับชั้น

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

[prod:vars]
env=production

หลีกเลี่ยงกลุ่มลูกแบบวนรอบ

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

ตรวจสอบโครงสร้างต้นไม้

ใช้กราฟของรายการโฮสต์เพื่อดูการซ้อนกลุ่มอย่างชัดเจน ตัวเลือก --graph จะแสดงกลุ่มแม่และกลุ่มลูกเป็นโครงสร้างต้นไม้

ansible-inventory -i inventory.ini --graph

ลำดับชั้นช่วยจัดการระบบขนาดใหญ่

กลุ่มที่ซ้อนกันช่วยให้คุณเลือก prod หรือ web-prod ได้อย่างแม่นยำ เมื่อระบบมีขนาดใหญ่ขึ้น children จะช่วยให้เลือกได้ทั้งแบบครอบคลุมและแบบเจาะจง

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

คุณต้องการกลุ่มแม่ที่มีสมาชิกเป็นกลุ่ม web และ db คุณจะใช้ส่วนหัว INI ใด

ทบทวน

คีย์เวิร์ด children ใช้ซ้อนกลุ่มให้เป็นลำดับชั้น โฮสต์จะสืบทอดกลุ่มแม่ทุกระดับ และตัวแปรของกลุ่มจะไหลลงมาตามโครงสร้างต้นไม้ 🌳

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

บทเรียน “กลุ่มซ้อนกันและคีย์เวิร์ด children” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “กลุ่มซ้อนกันและคีย์เวิร์ด children”

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

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

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

บทเรียน “กลุ่มซ้อนกันและคีย์เวิร์ด children” ใช้เวลานานแค่ไหน

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

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

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

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

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