วิธีการติดตั้ง Ansible บน Ubuntu 20.04 LTS

How Install Ansible Ubuntu 20



ในบทความนี้ ผมจะแสดงวิธีการติดตั้ง Ansible บน Ubuntu 20.04 LTS และกำหนดค่าโฮสต์ Ubuntu 20.04 LTS สำหรับ Ansible automation มาเริ่มกันเลยดีกว่า

โทโพโลยีเครือข่าย:







ที่นี่ linuxhint-711ea เป็นเครื่อง Ubuntu 20.04 LTS ที่ฉันจะติดตั้ง Ansible



จากนั้นฉันจะกำหนดค่าโฮสต์ host1 (ที่อยู่ IP 192.168.20.162) และ host2 (ที่อยู่ IP 192.168.20.153) สำหรับการทำงานอัตโนมัติของ Ansible และเรียกใช้คำสั่งกับพวกเขาโดยใช้ Ansible จาก linuxhint-711ea เครื่องจักร.



ฉันจะโทรหา host1 และ host2 เป็นโฮสต์ของ Ansible ในบทความนี้





การติดตั้ง Ansible:

คุณสามารถติดตั้ง Ansible บน Ubuntu 20.04 LTS ได้อย่างง่ายดายจากที่เก็บแพ็คเกจอย่างเป็นทางการของ Ubuntu

ขั้นแรก อัพเดตแคชที่เก็บแพ็คเกจ APT ด้วยคำสั่งต่อไปนี้:



$sudoapt update

ควรอัปเดตแคชที่เก็บแพ็กเกจ APT

ตอนนี้ ติดตั้ง Ansible ด้วยคำสั่งต่อไปนี้:

$sudoฉลาดติดตั้งansible

เพื่อยืนยันการติดตั้ง กด และ แล้วกด .

ควรติดตั้ง Ansible

ตอนนี้ให้รันคำสั่งต่อไปนี้เพื่อตรวจสอบว่า ansible ทำงานอย่างถูกต้องหรือไม่

$ansible--รุ่น

อย่างที่คุณเห็น คำสั่ง ansible พร้อมใช้งานและทำงานอย่างถูกต้อง

กำลังสร้างคีย์ SSH:

ตอนนี้ คุณต้องสร้างคีย์ SSH บนคอมพิวเตอร์ที่คุณติดตั้ง Ansible

ในการสร้างคีย์ SSH ให้รันคำสั่งต่อไปนี้:

$ssh-keygen

ตอนนี้กด .

กด .

กด .

ควรสร้างคีย์ SSH

การกำหนดค่าโฮสต์ Ubuntu สำหรับ Ansible Automation:

ในส่วนนี้ ฉันจะแสดงวิธีกำหนดค่าโฮสต์ Ubuntu ( host1 ) สำหรับระบบอัตโนมัติ Ansible หากคุณมีโฮสต์มากกว่าหนึ่งโฮสต์ที่คุณต้องการทำให้เป็นอัตโนมัติโดยใช้ Ansible ให้ทำขั้นตอนเดียวกันซ้ำในแต่ละโฮสต์

โฮสต์ Ubuntu Ansible (ซึ่งคุณต้องการกำหนดค่าสำหรับการทำงานอัตโนมัติของ Ansible) จะต้องติดตั้งแพ็คเกจเซิร์ฟเวอร์ SSH

ขั้นแรก อัพเดตแคชที่เก็บแพ็คเกจ APT ด้วยคำสั่งต่อไปนี้:

$sudoapt update

จากนั้น ติดตั้งเซิร์ฟเวอร์ OpenSSH ด้วยคำสั่งต่อไปนี้:

$sudoฉลาดติดตั้งopensh-เซิร์ฟเวอร์-และ

ในกรณีของฉัน แพ็คเกจเซิร์ฟเวอร์ OpenSSH ได้รับการติดตั้งไว้แล้ว หากไม่ได้ติดตั้งในกรณีของคุณ ควรติดตั้งไว้

ตอนนี้ ตรวจสอบว่า sshd บริการกำลังทำงานด้วยคำสั่งต่อไปนี้:

$sudoสถานะ systemctl sshd

อย่างที่คุณเห็น sshd บริการคือ คล่องแคล่ว (วิ่ง) และ เปิดใช้งาน (จะเริ่มโดยอัตโนมัติเมื่อบูตระบบ)

ถ้า sshd บริการไม่ได้ คล่องแคล่ว (ทำงานอยู่) ในกรณีของคุณ ให้เริ่มด้วยตนเองด้วยคำสั่งต่อไปนี้:

$sudosystemctl เริ่ม sshd

ถ้า sshd บริการไม่ได้ เปิดใช้งาน (ไม่ได้เพิ่มในการเริ่มต้นระบบ) ในกรณีของคุณ ให้เพิ่มในการเริ่มต้นระบบด้วยตนเองโดยใช้คำสั่งต่อไปนี้:

$sudosystemctlเปิดใช้งานsshd

ตอนนี้ กำหนดค่าไฟร์วอลล์เพื่ออนุญาตการเข้าถึง SSH ด้วยคำสั่งต่อไปนี้:

$sudoufw อนุญาตssh

คุณควรสร้าง an . ด้วย ansible ผู้ใช้และอนุญาตให้เข้าถึง sudo โดยไม่ต้องใช้รหัสผ่านไปยัง ansible ผู้ใช้

เพื่อสร้าง ansible ผู้ใช้รันคำสั่งต่อไปนี้:

$sudoadduser ansible

ตอนนี้พิมพ์รหัสผ่านสำหรับ ansible ผู้ใช้และกด .

ตอนนี้ พิมพ์รหัสผ่านอีกครั้งแล้วกด .

ตอนนี้กด .

ตอนนี้กด .

ตอนนี้กด .

ตอนนี้กด .

ตอนนี้กด .

ตอนนี้พิมพ์ และ แล้วกด .

หนึ่ง ansible ควรสร้างผู้ใช้

ตอนนี้กำหนดค่าการเข้าถึง sudo โดยไม่ต้องใช้รหัสผ่านไปยัง ansible ผู้ใช้ด้วยคำสั่งต่อไปนี้:

$โยนออก 'ansible ALL=(ALL) NOPASSWD:ALL' | sudo ที /ฯลฯ/sudoers.d/ansible

ตอนนี้ ค้นหาที่อยู่ IP ของโฮสต์ Ansible ( host1 ) ด้วยคำสั่งต่อไปนี้:

$ชื่อโฮสต์ -ผม

ที่นี่ ที่อยู่ IP ในกรณีของฉันคือ 192.168.20.162 . มันจะแตกต่างกันสำหรับคุณ ดังนั้นตรวจสอบให้แน่ใจว่าได้แทนที่ด้วยแบบฟอร์มของคุณแล้ว

จากคอมพิวเตอร์ที่คุณติดตั้ง Ansible ให้คัดลอกคีย์สาธารณะ SSH ไปยังโฮสต์ Ansible ( host1 ) ดังนี้

$ssh-copy-id ansible@192.168.20.162

พิมพ์ ใช่ แล้วกด .

ตอนนี้พิมพ์รหัสผ่านสำหรับ ansible ผู้ใช้และกด .

ควรคัดลอกคีย์ SSH สาธารณะไปที่ host1 .

ตอนนี้ปิดการใช้งานการเข้าสู่ระบบด้วยรหัสผ่านสำหรับ ansible ผู้ใช้ด้วยคำสั่งต่อไปนี้:

$sudoผู้ใช้mod-NSansible

ตอนนี้ คุณสามารถ SSH ได้เฉพาะในโฮสต์ Ansible ( host1 ) เช่น ansible ผู้ใช้ที่ไม่มีรหัสผ่านจากคอมพิวเตอร์ที่คุณคัดลอกคีย์สาธารณะ SSH จาก (ในกรณีนี้คือคอมพิวเตอร์ที่คุณติดตั้ง Ansible) แต่คุณจะไม่สามารถ SSH เข้าสู่โฮสต์ Ansible ( host1 ) เช่น ansible ผู้ใช้จากคอมพิวเตอร์เครื่องอื่น ฉันได้กำหนดค่าโฮสต์ Ansible ด้วยวิธีนี้เพื่อเหตุผลด้านความปลอดภัย ในฐานะที่เป็น ansible ผู้ใช้ไม่ต้องการรหัสผ่านใด ๆ สำหรับการรันคำสั่งการดูแลระบบ มีความเสี่ยงที่จะอนุญาตให้เข้าสู่ระบบด้วยรหัสผ่านสำหรับ ansible ผู้ใช้

ตอนนี้ คุณควรจะสามารถ SSH ลงใน ansible host ได้ host1 จากคอมพิวเตอร์ที่คุณได้ติดตั้ง Ansible ดังต่อไปนี้:

$sshansible@192.168.20.162

อย่างที่คุณเห็น ฉันสามารถเข้าถึงโฮสต์ Ansible ( host1 ) ในฐานะผู้ใช้ ansible โดยไม่ต้องใช้รหัสผ่านใด ๆ ดังนั้น โฮสต์ Ansible ( host1 ) พร้อมสำหรับการทำงานอัตโนมัติของ Ansible

หากคุณต้องการอนุญาตให้เข้าสู่ระบบโดยใช้รหัสผ่านสำหรับ . ด้วยเหตุผลบางประการ ansible ผู้ใช้อีกครั้ง ให้รันคำสั่งต่อไปนี้ในโฮสต์ Ansible ( host1 ):

$sudoผู้ใช้mod-ยูansible

คุณสามารถกำหนดค่าโฮสต์ได้มากเท่าที่คุณต้องการสำหรับการทำงานอัตโนมัติของ Ansible ในลักษณะเดียวกัน

ในบทความนี้ฉันได้กำหนดค่าเพียง 2 โฮสต์ host1 และ host2 สำหรับการสาธิต

การทดสอบ Ansible:

ตอนนี้ สร้างไดเร็กทอรีโครงการใหม่ ~/ansible-สาธิต/ ในคอมพิวเตอร์ที่คุณได้ติดตั้ง Ansible ดังนี้:

$mkdir~/ansible-สาธิต

ตอนนี้ไปที่ ~/ansible-สาธิต/ ไดเร็กทอรีดังนี้:

$ซีดี~/ansible-สาธิต/

ตอนนี้สร้างใหม่ เจ้าภาพ ไฟล์ในไดเร็กทอรีโครงการดังนี้:

$นาโนเจ้าภาพ

ตอนนี้พิมพ์ที่อยู่ IP หรือชื่อ DNS ของโฮสต์ Ansible ( host1 และ host2 ในกรณีของฉัน) ใน เจ้าภาพ ไฟล์ดังนี้

192.168.20.162
192.168.20.153

ตอนนี้บันทึกไฟล์โดยกด + X ติดตามโดย และ แล้วก็ .

ตอนนี้ให้ลอง ping โฮสต์ทั้งหมดโดยใช้ Ansible ดังนี้:

$ansible ทั้งหมด-ผม./เจ้าภาพ-ยูansible-NS ปิง

บันทึก: ที่นี่ -u ตัวเลือกใช้เพื่อระบุชื่อผู้ใช้ (ในกรณีนี้) ซึ่ง Ansible จะใช้เพื่อ SSH ในโฮสต์

อย่างที่คุณเห็น โฮสต์ทั้งหมดสามารถ ping ได้ ดังนั้นโฮสต์จึงพร้อมสำหรับการทำงานอัตโนมัติของ Ansible

ในทำนองเดียวกัน คุณสามารถรันคำสั่งใดๆ ในโฮสต์โดยใช้ Ansible ได้ดังนี้:

$ansible ทั้งหมด-ผม./เจ้าภาพ-ยูansible-NSเปลือก-ถึง 'echo '$(ชื่อโฮสต์) - $(ชื่อโฮสต์ -I)''

อย่างที่คุณเห็น คำสั่งรันได้สำเร็จในแต่ละโฮสต์และผลลัพธ์จะแสดงขึ้น

นี่คือวิธีที่คุณติดตั้ง Ansible บน Ubuntu 20.04 LTS และกำหนดค่าโฮสต์ Ubuntu 20.04 LTS สำหรับการทำงานอัตโนมัติของ Ansible ขอบคุณที่อ่านบทความนี้