วิธีเรียกใช้ apt-get Update ใน Ansible

How Run An Apt Get Update Ansible



ในขั้นตอนการทำงานประจำวันของฉัน ฉันทำงานกับระบบลีนุกซ์ระยะไกลจำนวนมาก ซึ่งส่วนใหญ่เป็นแบบเดเบียน

ฉันสามารถบอกคุณได้อย่างเปิดเผยว่าบางครั้ง SSH ในทุกเครื่องนั้นน่าเบื่อมาก ทำการอัพเดต apt-get จากนั้นตรวจสอบว่ามีการอัปเดตและติดตั้งหรือไม่ แม้จะล็อกอินด้วย SSH แบบไม่ใช้รหัสผ่าน แต่ก็ยังใช้เวลานานมาก







หลังจากถามตัวเองอยู่เสมอ ฉันจะทำให้กระบวนการนี้เป็นอัตโนมัติได้อย่างไร ฉันพบ Ansible!



สำหรับบทช่วยสอนนี้ ฉันจะแสดงให้คุณเห็นถึงวิธีใช้เครื่องมืออัตโนมัติอันทรงพลังนี้เพื่ออัปเดตระบบระยะไกลทั้งหมดของคุณโดยใช้ apt การอัปเดตและนำแพตช์ทั้งหมดไปใช้กับระบบของคุณอยู่เสมอจะช่วยรักษาระบบของคุณให้ปลอดภัย



Ansible คืออะไร?

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





Ansible ยังใช้งานง่ายมาก มันใช้ไฟล์ YAML ที่เขียนง่ายและอ่านง่าย และมีความปลอดภัยระดับสูงเนื่องจากใช้ SSH ในการเข้าสู่ระบบและจัดการระบบ

การจัดการระบบมากกว่าหนึ่งระบบจากเครื่องมือเดียวเป็นมากกว่าชัยชนะ และผู้ดูแลระบบควรคุ้นเคยหากยังไม่ได้ใช้ Ansible



การติดตั้ง Ansible

ด้วยการยกย่องของ Ansible ให้เราดูการติดตั้ง Ansible บนเครื่องท้องถิ่นของเราเพื่อจัดการเซิร์ฟเวอร์ระยะไกล

สำหรับบทช่วยสอนนี้ ฉันจะใช้ Ubuntu 20.10 เป็นเครื่องท้องถิ่นของฉัน หากต้องการเรียนรู้วิธีติดตั้ง Ansible บนระบบอื่น โปรดดูเอกสารประกอบ

บน Ubuntu ให้ใช้คำสั่ง:

sudo apt อัปเดต
sudo apt ติดตั้งซอฟต์แวร์คุณสมบัติทั่วไป
sudo add-apt-repository --yes --update ppa:ansible/ansible
sudo apt ติดตั้ง ansible

Ansible เพิ่มโฮสต์

หากคุณไม่คุ้นเคยกับ Ansible ขั้นตอนแรกคือการสร้างสินค้าคงคลังของเครื่องระยะไกลที่คุณต้องการทำให้เป็นอัตโนมัติ คุณสามารถทำได้โดยแก้ไขไฟล์ /etc/ansible/hosts

ในการเพิ่มเซิร์ฟเวอร์ Debian ให้ป้อนรายการดังนี้:

[เดเบียน]
192.168.0.13

คุณสามารถส่งที่อยู่ IP ของโฮสต์ระยะไกลหรือใช้ชื่อโฮสต์ของเครื่อง

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

อัปเดตโดยใช้โมดูล apt

ในการอัปเดตและจัดการแพ็คเกจจากระยะไกลบนเครื่องที่ใช้ Debian เราใช้โมดูล apt ที่ Ansible จัดหาให้ โมดูล apt ช่วยให้เราสามารถจัดการแพ็คเกจ apt ด้วยการกำหนดค่าอื่นๆ

อัปเดตแคชที่เก็บ
ในการอัปเดตแคชของที่เก็บโดยใช้ Ansible เราสามารถใช้ playbook ตามที่ให้ไว้ด้านล่าง:

---
- โฮสต์: debian
กลายเป็น: ใช่
กลายเป็น_เมธอด: sudo
งาน:
- ชื่อ: 'อัปเดตแคชที่เก็บ'
ฉลาด:
update_cache: จริง
cache_valid_time: 3600
force_apt_get: จริง

บันทึกไฟล์และเรียกใช้โดยใช้คำสั่งเป็น:

ansible-playbook --user=debian apt.yaml

การดำเนินการนี้จะเรียกใช้ playbook และดำเนินงานตามที่ระบุ ผลลัพธ์เป็นดังแสดงด้านล่าง:

ในคู่มือ Ansible เราเริ่มต้นด้วยการระบุโฮสต์ ในกรณีนี้ เราต้องการเฉพาะโฮสต์ Debian เท่านั้น

ต่อไป เราตั้งค่าให้เป็นจริง ทำให้ผู้ใช้สามารถยกระดับสิทธิ์โดยใช้ sudo ตามที่ระบุใน becom_method

สุดท้าย เราตั้งค่างานเพื่ออัปเดตแคชของที่เก็บ นอกจากนี้เรายังตั้งค่า cache_valid_time เป็น 3600 ซึ่งจะรีเฟรชแคชหากเก่ากว่าเวลาดังกล่าว

บันทึก: ใช้ force_apt-get แทนความถนัด

อัพเกรดแพ็คเกจทั้งหมด
นอกจากนี้เรายังสามารถอัปเดตแพ็คเกจทั้งหมดในระบบที่สอดคล้องกับคำสั่ง:

sudo apt-get dist-upgrade

ในการทำเช่นนี้โดยใช้ Ansible playbook เราเพิ่มไฟล์ yaml เป็น:

---
- เจ้าภาพ: ทั้งหมด
กลายเป็น: ใช่
กลายเป็น_เมธอด: sudo
งาน:
- ชื่อ: 'อัปเดตแคช & อัปเดตเต็มระบบ'
ฉลาด:
update_cache: จริง
อัพเกรด: dist
cache_valid_time: 3600
force_apt_get: จริง

ในทำนองเดียวกัน ให้รัน Ansible Playbook ด้านบน ดังที่แสดงในคำสั่งแรก

บทสรุป

ในบทช่วยสอนนี้ เราจะพูดถึงอย่างรวดเร็วว่า Ansible คืออะไร นำเสนออะไร และเราจะใช้โมดูลเพื่อดำเนินการอัปเดตระบบบนระบบที่ใช้ Debian ได้อย่างไร

ขอบคุณ & Happy Automation