ด้วยการใช้หนึ่งในเทคนิคการจัดการล่าสุด 'Ansible' เราแนะนำวิธีแสดงรายการโฮสต์ที่ได้รับการตรวจสอบทั้งหมดบนอุปกรณ์ ใน Ansible เราใช้ปลั๊กอิน 'สินค้าคงคลัง' เพื่อแสดงรายการโฮสต์ทั้งหมดในเครือข่าย
การมีรายชื่อเครื่องโฮสต์ทั้งหมดของคุณใน Ansible เป็นสิ่งสำคัญ การจัดไฟล์สินค้าคงคลังให้เป็นระเบียบนั้นสำคัญพอๆ กับการดูแล playbooks หรืองานต่างๆ เพราะคุณจะพบว่าตัวเองอยู่ในสภาวะที่ไม่แน่นอนอยู่ตลอดเวลา และถามตัวเองด้วยข้อกังวลหลายประการหากไฟล์สินค้าคงคลังของคุณได้รับการจัดการที่ไม่ถูกต้อง นอกเหนือจากที่กล่าวมาแล้ว คำจำกัดความของไฟล์รายการสินค้าคงคลังของตัวแปรที่จำเป็นยังช่วยลดเนื้อหาของงานใน playbooks และเพิ่มความเร็วในการตีความ มีกลุ่มของตัวแปรที่สามารถประกาศได้ทั้งใน playbooks และไฟล์สินค้าคงคลัง Ansible ซึ่งมีหน้าที่ในการเชื่อมต่อและกำหนดค่าลักษณะการทำงานของการเชื่อมต่อกับเครื่องโฮสต์
ข้อกำหนดเบื้องต้น:
ต่อไปนี้เป็นข้อกำหนดก่อนที่จะใช้คำสั่งสินค้าคงคลังรายการโฮสต์ใน Ansible:
- ในการเริ่มต้นใช้งาน ก่อนอื่นเราต้องมีซอฟต์แวร์ที่ใช้สำหรับการกำหนดค่า Ansible ซึ่งติดตั้งในอุปกรณ์เซิร์ฟเวอร์ด้วยเวอร์ชันล่าสุด ต้องกำหนดค่า Ansible เพื่อให้เราสามารถแสดงรายการเครื่องโฮสต์ทั้งหมดในเครือข่ายของเราได้อย่างง่ายดาย
- ในการทำงานการกำหนดค่าใดๆ ใน Ansible เราจำเป็นต้องมีตัวจัดการการกำหนดค่าหลัก ในบทช่วยสอนนี้ เราใช้เซิร์ฟเวอร์ตัวควบคุมเป็นตัวควบคุมหลัก
- เพื่อใช้การเปลี่ยนแปลงใด ๆ เราจำเป็นต้องกำหนดเป้าหมายเซิร์ฟเวอร์โฮสต์ในบทช่วยสอนเกี่ยวกับรายการโฮสต์ ที่นี่ เรามีรีโมตโฮสต์เป้าหมายสองรายการ
ตัวอย่าง: รายการโฮสต์คงคลังในเครื่อง
ต่อไปนี้คือตัวอย่างที่เราใช้ในเครื่องมือ Ansible เพื่อตรวจสอบหรือกำหนดพื้นที่รายการโฮสต์ เราจะทำตัวอย่างนี้ในขั้นตอนต่าง ๆ เพื่อให้เราเข้าใจการทำงานและการใช้งานบทช่วยสอนนี้ได้ง่าย ขั้นตอนต่อไปนี้:
ขั้นตอนที่ 1: ตรวจสอบรายการโฮสต์เริ่มต้นในอุปกรณ์โฮสต์ระยะไกลเป้าหมาย
ก่อนอื่น เราจะตรวจสอบจำนวนโฮสต์ที่อยู่ในคลังของเครื่องมือ Ansible สำหรับสิ่งนั้น เราใช้คำสั่ง 'ansible' กับ '—list-hosts' เพื่อให้เราสามารถแสดงโหนดที่จัดการเริ่มต้นในสินค้าคงคลัง
[ ราก @ ต้นแบบ ansible ] # ใช้งานได้ทั้งหมด --list-hosts
นี่คือผลลัพธ์หลังจากเขียนคำสั่งก่อนหน้า:
เทอร์มินัล Ansible แสดง '0 โฮสต์' ตามที่คุณเห็นในการตอบกลับที่ให้ไว้ เนื่องจากเราไม่ได้ประกาศพื้นที่โฆษณา เราสร้างสินค้าคงคลังเพื่อแสดงรายการสินค้าคงคลังของโฮสต์ในเทอร์มินัลก่อนที่เราจะจัดการเรื่องนี้
สินค้าคงคลังเริ่มต้น:
เมื่อเราติดตั้ง Ansible ในซอฟต์แวร์ Ansible จะสร้างไฟล์รายการซึ่งพบได้โดยการเขียนคำสั่งต่อไปนี้ในเทอร์มินัล:
[ ราก @ ต้นแบบ ansible ] # sudo nano /etc/ansible/hosts
ผลลัพธ์ถูกสร้างขึ้นเมื่อเราเขียนคำสั่งก่อนหน้า จากนั้นระบบจะขอให้คุณป้อนรหัสผ่าน:
ในสแนปชอตนี้ ไฟล์โฮสต์ Ansible ที่เป็นค่าดีฟอลต์จะให้ข้อมูลเกี่ยวกับโฮสต์ที่ไม่ได้จัดกลุ่มและโฮสต์ของกลุ่มเว็บเซิร์ฟเวอร์ โฮสต์เหล่านี้รวมถึง URL และที่อยู่ IP ที่แตกต่างกัน
ขั้นตอนที่ 2: กำหนด Custom Inventory ใน Ansible
ใน Ansible เรายังสามารถกำหนดสินค้าคงคลังของเราได้ด้วยการเขียนหลายคำสั่งในเทอร์มินัล Ansible การกำหนดสินค้าคงคลังเมื่อเรียกใช้ใบแจ้งยอดและ playbooks เป็นการตัดสินใจที่ชาญฉลาดซึ่งป้องกันการปะทะกันของโฮสต์และความล้มเหลวในขณะที่เชื่อมต่อกับโฮสต์
ในการเริ่มต้นกำหนดพื้นที่โฆษณาด้วยตัวเราเอง ขั้นแรกให้เขียนคำสั่งต่อไปนี้เพื่อให้เราสามารถสร้างพื้นที่โฆษณาใน Ansible และแสดงรายการโฮสต์ในนั้น เพื่อที่เราจะทำการเชื่อมต่อระหว่างตัวควบคุม Ansible และโฮสต์ระยะไกลที่เป็นเป้าหมาย
[ ราก @ ต้นแบบ ansible ] # นาโน hosts.yml
หลังจากเขียนคำสั่งก่อนหน้านี้แล้ว สินค้าคงคลังจะถูกสร้างขึ้นและเปิดใช้งานในเทอร์มินัล Ansible ใหม่ที่มีชื่อ 'hosts.yml' ต่อไป เราจะแสดงรายการโฮสต์เป้าหมายทีละรายการในคลัง โฮสต์แรกที่เราเชื่อมต่อด้วยคือโฮสต์ Linux เราจัดเตรียมที่อยู่ IP ของโฮสต์ Linux, ผู้ใช้ Ansible, รหัสผ่าน Ansible, ประเภทของการเชื่อมต่อ และหมายเลขพอร์ต Ansible เรายังทำเช่นเดียวกันกับโฮสต์เป้าหมายที่สอง โฮสต์ที่สองที่เราใช้คือโฮสต์ Ansible โฮสต์ทั้งหมดที่เราระบุไว้อยู่ภายใต้พารามิเตอร์ Ansible ในคลัง
คำตอบ:เจ้าภาพ:
Linux_Host:
ansible_host: 192.168.3.229
ansible_user: ราก
ansible_password: tpstps_22
ansible_connection: จุ๊ๆ
ansible_port: 22
Ansible_Host:
ansible_host: 192.168.7.10
ansible_user: ไอริส
ansible_password: TpsTps_1
ansible_connection: จุ๊ๆ
ansible_port: 22
หลังจากสร้างไฟล์สินค้าคงคลังและจัดเตรียมโฮสต์ในนั้น ตอนนี้เรายุติไฟล์สินค้าคงคลังและกลับไปที่เทอร์มินัล Ansible หลัก
ขั้นตอนที่ 3: สร้าง Playbook ใน Ansible
ต่อไป เราสร้าง playbook ในเครื่องมือ Ansible เพื่อให้เรากำหนดงาน เราเขียนคำสั่งต่อไปนี้ในเทอร์มินัลหลัก Ansible:
[ ราก @ ต้นแบบ ansible ] # nano ansible_advanced_inventory.yml
ตอนนี้ playbook ได้เปิดตัวในเทอร์มินัลใหม่ ขั้นแรก เราเขียนชื่อหนังสือคู่มือการเล่น ในบรรทัดถัดไป เราระบุโฮสต์เป้าหมาย เราใช้ตัวเลือกรวบรวมข้อเท็จจริงที่ใช้เพื่อรับข้อมูลทั้งหมดของโฮสต์ แต่ที่นี่ เราผ่าน “ไม่” ซึ่งหมายความว่าเราไม่ต้องการรับข้อมูลทั้งหมดของโฮสต์
ต่อไป เราจะแสดงรายการงานใน playbook งานแรกใช้เพื่อแสดงโฮสต์เป้าหมายพร้อมชื่อโฮสต์ ในงานต่อไป เราจะพิมพ์ผลลัพธ์ของโฮสต์
- ชื่อ: สินค้าคงคลังโฮสต์ขั้นสูง Ansibleโฮสต์: Ansible [ 0 ]
Gather_facts: ไม่
งาน:
- ชื่อ: เก็ท ชื่อโฮสต์ ของโหนดที่ได้รับการจัดการ
เปลือก: 'ชื่อโฮสต์'
ลงทะเบียน: ผลลัพธ์
- ชื่อ: พิมพ์ ชื่อโฮสต์
แก้ปัญหา:
ข้อความ: '{{result.stdout}}'
ตอนนี้ เราต้องการดำเนินการ playbook พร้อมกับไฟล์สินค้าคงคลัง ดังนั้น เรามาจบ playbook กันก่อน ต่อไปนี้เป็นคำสั่งที่เราใช้ในการเรียกใช้คำสั่ง:
[ ราก @ ต้นแบบ ansible ] # ansible-playbook ansible_advanced_inventory.yml –i host.yml
ต่อไปนี้เป็นการแสดงผลที่แสดงว่าการเชื่อมต่อสำเร็จ เนื่องจากเราผ่าน Ansible[0] ใน playbook โฮสต์แรกจะแสดงในผลลัพธ์:
บทสรุป
เรามีการสนทนาเชิงลึกที่คลัง Ansible ตลอดบทช่วยสอนนี้ เราได้เรียนรู้วิธีสร้างพื้นที่โฆษณาใน Ansible แล้วเชื่อมต่อกับโฮสต์ระยะไกลเป้าหมาย เรายังปรับใช้ตัวอย่างเพื่อให้เข้าใจแนวคิดของพื้นที่โฆษณา Ansible ได้อย่างง่ายดาย