หากต้องการใช้การเป็นสมาชิกกลุ่มแบบมีเงื่อนไขสำหรับงาน เล่น หรือบล็อก คุณต้องใช้รูปแบบ:
เมื่อ: inventory_hostname ในกลุ่ม["<ชื่อกลุ่ม>"]
โดยเฉพาะสำหรับคำถามเริ่มต้นของคุณ:
เมื่อใด: inventory_hostname ในกลุ่ม ["appservers"]
ในการเข้าถึงทุกเครื่องภายใต้ ทิศเหนือคุณเพียงแค่เปลี่ยนเป็น:
เมื่อ: inventory_hostname ในกลุ่ม["เหนือ"]
เกี่ยวกับการชี้แจงติดตามผลของคุณ (ระบุกลุ่มใน "สถานที่" เฉพาะ) เนื่องจากชื่อกลุ่มต้องไม่ซ้ำกันใน ansible จึงไม่จำเป็นต้องแยกความแตกต่าง ที่ เซิร์ฟเวอร์แอป กลุ่มที่คุณอ้างถึง เช่น เซิร์ฟเวอร์แอป สามารถอยู่ในตำแหน่งเดียวเท่านั้น
หากคุณพยายามที่จะสร้างสอง เซิร์ฟเวอร์แอป กลุ่ม เฉพาะกลุ่มแรกเท่านั้นที่จะถูกแยกวิเคราะห์โดยเอ็นจิ้น ansible; กลุ่มถัดไปที่มีชื่อเดียวกันจะถูกละเว้น ดังนั้นหากคุณวางแผนที่จะ (ในอนาคต) มี เซิร์ฟเวอร์แอป กลุ่มภายใต้ ทิศเหนือ และ เซิร์ฟเวอร์แอป กลุ่มภายใต้ ใต้คุณจะพบว่ามีเฉพาะสมาชิกในกลุ่มแรกเท่านั้นที่จะถูกรวม
เราบรรลุสิ่งนี้ได้อย่างไร (ข้อสันนิษฐานของฉันเกี่ยวกับสิ่งที่คุณ อาจ ต้องการในอนาคต) วิธีที่พอจะทำได้คือเพิ่มโฮสต์ลงในกลุ่มหลายๆ กลุ่ม แล้วปรับขีดจำกัดหรือเงื่อนไขของคุณให้เหมาะสม:
ทั้งหมด:
เด็ก:
ทิศเหนือ:
เจ้าภาพ:
a.domain.com:
b.domain.com:
ใต้:
เจ้าภาพ:
y.domain.com:
z.domain.com:
เซิร์ฟเวอร์แอป:
เจ้าภาพ:
a.domain.com:
y.domain.com:
เซิร์ฟเวอร์ฐานข้อมูล:
เจ้าภาพ:
b.domain.com:
z.domain.com:
ในตัวอย่างนี้ ถ้าคุณต้องการ ทั้งหมด เซิร์ฟเวอร์แอป คุณก็แค่กำหนดเป้าหมาย เซิร์ฟเวอร์แอป. ถ้าคุณต้องการเท่านั้น เซิร์ฟเวอร์แอป ใน ทิศเหนือ ภูมิภาค จากนั้นคุณจะกำหนดขีดจำกัดในการเล่นเป็น ทิศเหนือ:&appserversหรือใช้เงื่อนไขแทนก็ได้
เมื่อไร:
- inventory_hostname ในกลุ่ม ["appservers"]
- inventory_hostname ในกลุ่ม["เหนือ"]
ในกรณีใด ๆ ฉันคิดว่าคุณอาจต้องการการทบทวนว่าสินค้าคงคลังมีโครงสร้างอย่างไรใน ansible เพราะฉันจะแนะนำ คู่มือผู้ใช้; นอกจากนี้ยังมีแหล่งข้อมูลที่ยอดเยี่ยมในไซต์การฝึกอบรมต่างๆ ที่สามารถลงรายละเอียดได้มากขึ้น
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดเป้าหมายที่ซับซ้อนมากขึ้นโดยใช้หลายกลุ่ม (ชุดค่าผสม สหภาพ และการยกเว้น ฯลฯ) เราขอแนะนำให้คุณตรวจสอบสิ่งนี้ คู่มือผู้ใช้.
ในบันทึกส่วนตัว ในตอนแรกฉันคิดว่าการตั้งค่านั้นน่าเบื่อและมีข้อจำกัด แต่เมื่อฉันคุ้นเคยกับการใช้งานมากขึ้น ฉันพบว่ามันมีไดนามิกมากกว่าทางเลือกอื่น