ค้นหาเว็บไซต์

วิธีการติดตั้งและกำหนดค่าโหนดควบคุม Ansible - ตอนที่ 2


ในหัวข้อที่แล้ว คุณจะได้เรียนรู้เกี่ยวกับคำศัพท์ Ansible พื้นฐานและแนวคิดพื้นฐาน ในหัวข้อนี้ (ตอนที่ 2 ของซีรีส์ Ansible) เราจะสาธิตวิธีการติดตั้งและกำหนดค่าโหนดควบคุม Ansible บน RHEL 8

ในการตั้งค่าของเรา เราจะใช้เซิร์ฟเวอร์ 1 Ansible และ 2 โหนด Linux ระยะไกล:

Control Node 1: RHEL 8 Server     IP: 192.168.0.108         Ansible Server
Managed Host 1: Debian 10         IP: 192.168.0.15          Webserver
Managed Host 2: CentOS 8          IP: 192.168.0.200	    Database Server

โหนดควบคุม Ansible คืออะไร

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

ในการตั้งค่าด้านบน โหนดควบคุมคือเซิร์ฟเวอร์ RHEL 8 ที่จะติดตั้ง Ansible และ Debian 10 & CentOS 8< เป็นโฮสต์ที่ได้รับการจัดการ

หมายเหตุ: Ansible ได้รับการติดตั้งบนโหนดควบคุมเท่านั้น ไม่ใช่โฮสต์ที่ได้รับการจัดการ

ขั้นตอนที่ 1: การติดตั้ง Python 3

ตามค่าเริ่มต้น RHEL 8 จะมาพร้อมกับ Python 3 และคุณสามารถตรวจสอบเวอร์ชันของ Python ที่ติดตั้งบนเซิร์ฟเวอร์ของคุณได้โดยการเรียกใช้

python3 -V

หากไม่ได้ติดตั้ง Python3 ไม่ว่าด้วยเหตุผลใดก็ตาม ให้ติดตั้งโดยใช้คำสั่ง dnf ต่อไปนี้

dnf install python3

หากมี Python หลายเวอร์ชันบนระบบ RHEL 8 ของคุณ คุณสามารถตั้งค่า Python 3 เป็นเวอร์ชันเริ่มต้นของ Python ได้ โดยการวิ่ง

alternatives --set python /usr/bin/python3

ขั้นตอนที่ 2: เปิดใช้งานพื้นที่เก็บข้อมูล RedHat อย่างเป็นทางการ

หลังจากติดตั้ง Python3 ตรวจสอบให้แน่ใจว่าคุณได้เปิดใช้งานพื้นที่เก็บข้อมูลอย่างเป็นทางการของ RedHat สำหรับ Ansible ดังที่แสดงด้านล่าง

subscription-manager repos --enable ansible-2.8-for-rhel-8-x86_64-rpms

หมายเหตุ: เพื่อให้คำสั่งข้างต้นใช้งานได้ ตรวจสอบให้แน่ใจว่าคุณได้ลงทะเบียน RHEL 8 สำหรับการสมัครสมาชิก RedHat แล้ว

ขั้นตอนที่ 3: ติดตั้ง Ansible บน RHEL 8

หากต้องการติดตั้ง Ansible บนโหนดควบคุมซึ่งเป็นระบบ RHEL 8 ของเรา ให้รันคำสั่ง

dnf install ansible -y

เมื่อติดตั้งแล้ว คุณสามารถตรวจสอบเวอร์ชันของ Ansible ที่ติดตั้งได้โดยการรันคำสั่ง

ansible --version

ขั้นตอนที่ 4: การสร้างไฟล์สินค้าคงคลังโฮสต์แบบคงที่

จนถึงตอนนี้ เราได้ติดตั้ง ansible บน โหนดควบคุม ซึ่งเป็นเซิร์ฟเวอร์ RHEL 8 ของเราเรียบร้อยแล้ว โหนดระยะไกลที่จะจัดการโดยโหนดควบคุมจะต้องถูกกำหนดในไฟล์ที่เรียกว่าไฟล์ สินค้าคงคลัง ไฟล์สินค้าคงคลังเป็นไฟล์ข้อความธรรมดาที่อยู่บนโหนดควบคุมและประกอบด้วยชื่อโฮสต์หรือที่อยู่ IP ของโฮสต์ระยะไกล

ไฟล์โฮสต์แบบคงที่คือไฟล์ข้อความธรรมดาที่มีรายการโหนดที่ได้รับการจัดการซึ่งกำหนดโดยที่อยู่ IP หรือชื่อโฮสต์ มาสร้างไฟล์คงที่ 'โฮสต์' ในไดเร็กทอรี /etc/ansible/

vi /etc/ansible/hosts

จากนั้น ให้กำหนดกลุ่มสำหรับโฮสต์ที่ได้รับการจัดการของคุณ เรามีโฮสต์ที่ได้รับการจัดการ 2 แห่งดังที่เห็นก่อนหน้านี้ในการตั้งค่าที่ตอนแนะนำหัวข้อนี้ จากการตั้งค่า ไฟล์โฮสต์แบบคงที่จะถูกกำหนดดังนี้:

[webserver]
192.168.0.15

[database_server]
192.168.0.200

บันทึกและออกจากไฟล์สินค้าคงคลัง

ในการแสดงรายการโฮสต์ที่ได้รับการจัดการให้รัน:

ansible all -i hosts --list-hosts

จนถึงตอนนี้ เราได้จัดการเพื่อติดตั้ง Ansible ในโหนดควบคุม และกำหนดโฮสต์ที่ได้รับการจัดการในไฟล์โฮสต์แบบคงที่ซึ่งอยู่บนโหนดควบคุม

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

ขั้นตอนที่ 5: ตั้งค่าโหนดควบคุม Ansible เพื่อเชื่อมต่อกับโหนดระยะไกล

สำหรับ โหนดควบคุม Ansible (RHEL 8) ในการจัดการระบบโฮสต์ระยะไกล (Debian 10 และ CentOS 8) เราจำเป็นต้องตั้งค่าการตรวจสอบสิทธิ์ SSH แบบไม่ต้องใช้รหัสผ่านให้กับโฮสต์ระยะไกล เพื่อให้สิ่งนี้เกิดขึ้น คุณต้องสร้างคู่คีย์ SSH และบันทึกคีย์สาธารณะลงในโหนดระยะไกล

บนโหนดควบคุม Ansible ให้ล็อกอินในฐานะผู้ใช้ปกติและสร้างคู่คีย์ SSH โดยการรันคำสั่ง

su tecmint
ssh-keygen

จากนั้นคัดลอกคีย์ ssh สาธารณะไปยังโหนดระยะไกลตามที่แสดง

ssh-copy-id [email 	        (For Debian 10 node)
ssh-copy-id [email 	        (For CentOS 8 node)

เมื่อเพิ่มกุญแจสาธารณะให้กับโหนดระยะไกลทั้งหมดแล้ว เราจะออกคำสั่ง ping จากโหนด Ansible Control เพื่อให้แน่ใจว่าสามารถเข้าถึงได้

ansible -m ping all

จากผลลัพธ์ข้างต้น เราจะเห็นได้อย่างชัดเจนว่าคำสั่ง ping สำเร็จ และเราสามารถทดสอบความสามารถในการเข้าถึงโหนดทั้งหมดได้

บทสรุป

ในคู่มือนี้ เราได้ติดตั้งและตั้งค่า Ansible บนโหนดควบคุมที่ทำงาน RHEL 8 เรียบร้อยแล้ว ต่อมาเราได้กำหนดโฮสต์ระยะไกลในไฟล์โฮสต์แบบคงที่ และกำหนดค่าโหนดควบคุมเพื่อเชื่อมต่อและควบคุมโฮสต์ที่ได้รับการจัดการโดยการตั้งค่าการตรวจสอบสิทธิ์แบบไม่ใช้รหัสผ่าน SSH