การตั้งค่า Ansible สำหรับการจัดการการกำหนดค่าบน Ubuntu 14.04: การสร้าง Playbooks

Playbooks ใน Ansible เป็นสิ่งที่ทำให้ Ansible มีประโยชน์มาก Playbooks อนุญาตให้เรียกใช้งานตามปกติด้วยโมดูลหลายตัว เราควรใช้ playbooks เมื่อใด

มาดูงานบำรุงรักษาตามปกติ: อัปเดตเซิร์ฟเวอร์ของคุณ เราจะไม่ต้องใช้ playbook สำหรับสิ่งนี้เพราะมันเป็นเพียงคำสั่งเดียว: apt-get update. เราสามารถใช้คำสั่งเดียวเพื่ออัพเดทซอฟต์แวร์บนเซิร์ฟเวอร์ทั้งหมดของเรา อย่างไรก็ตามสำหรับการปรับใช้บางอย่างเช่นเว็บหรือเซิร์ฟเวอร์ฐานข้อมูลจำเป็นต้องทำงานมากกว่านี้: ไม่ใช่แค่คำสั่งเดียว Playbooks เป็นเจ้าเมืองสำหรับคดีนี้ พวกเขาอนุญาตให้คุณใช้หลายโมดูลซึ่งเป็นคำสั่งที่สามารถดำเนินการบนเซิร์ฟเวอร์ ตัวอย่างเช่นมีโมดูลสำหรับการคัดลอกไฟล์และดำเนินการคำสั่งเชลล์ผ่าน SSH

ดังนั้นเราจะใช้ playbooks ได้อย่างไร มาเริ่มกันเลย!

ขั้นตอนที่ 1: สร้างไฟล์ YAML ( .yml)

เพลย์บุ๊ค Ansible เขียนเป็น.ymlไฟล์ Ansible ไม่สามารถตีความรูปแบบอื่น ๆ ได้ ตัวอย่าง Playbook Ansible มีลักษณะดังนี้:

---
- hosts: webservers
  vars:
    http_port: 80
    max_clients: 200
  remote_user: root
  tasks:
  - name: ensure apache is at the latest version
    yum: pkg=httpd state=latest
  - name: write the apache config file
    template: src=/srv/httpd.j2 dest=/etc/httpd.conf
    notify:
    - restart apache
  - name: ensure apache is running (and enable it at boot)
    service: name=httpd state=started enabled=yes
  handlers:
    - name: restart apache
      service: name=httpd state=restarted

(นำมาจากเอกสารของ Ansible)

ขั้นตอนที่ 2: ทำความเข้าใจ playbooks: งานและตัวจัดการ

อย่างที่คุณเห็นมีหลายส่วนใน playbook นี้ ก่อนอื่นคุณจะเห็นhosts:บรรทัด สิ่งนี้เป็นตัวกำหนดว่าโฮสต์ใดที่ playbook ควรจะดำเนินการ คุณจะเห็นว่าเราได้กำหนดตัวแปรสองสามตัวที่สามารถเข้าถึงและใช้งานได้ตลอดทั้งเล่ม จากนั้นคุณจะเห็นจำนวนงาน งานเหล่านี้อาจตั้งชื่อบางอย่างเช่น "ติดตั้ง Apache" เป็นต้น ภารกิจที่สองในตัวอย่างเขียนไปยัง Apache config จากนั้นคุณจะเห็นสิ่งต่อไปนี้:

    notify:
    - restart apache

สิ่งนี้บอกภารกิจให้ดำเนินการตัวจัดการบางตัว ในกรณีนี้มันหมายถึงตัวจัดการrestart apacheซึ่งสามารถพบได้ที่ด้านล่างของ playbook:

  handlers:
    - name: restart apache
      service: name=httpd state=restarted

ตัวจัดการสะดวกเพราะคุณอาจต้องรีสตาร์ท Apache หลายครั้ง ในกรณีนี้คุณไม่จำเป็นต้องสร้างงานซ้ำทุกครั้งที่คุณต้องรีสตาร์ท Apache แต่คุณสามารถอ้างถึงตัวจัดการเดียวกันทุกครั้ง

ขั้นตอนที่ 3: ดำเนินการ playbooks

สมมติว่าคุณต้องการปรับใช้เซิร์ฟเวอร์ Apache อย่างที่คุณเห็นเราเพิ่งสร้าง playbook สำหรับสิ่งนั้น การดำเนินการ playbooks สามารถทำได้โดยใช้ansible-playbookคำสั่ง ตัวอย่างเช่นหากเราต้องดำเนินการ playbook นี้บนเซิร์ฟเวอร์ทั้งหมดในwebserversหมวดหมู่ (คุณจะต้องมีหมวดหมู่นี้ใน/etc/ansible/hostsไฟล์ของคุณ) คุณจะเรียกใช้คำสั่งต่อไปนี้เนื่องจากชื่อไฟล์ playbook ของคุณคือapache.yml:

ansible-playbook -i webservers apache.yml

ขอแสดงความยินดี! ตอนนี้คุณได้ดำเนินการ playbook บนเซิร์ฟเวอร์ทั้งหมดในwebserversหมวดหมู่ของคุณ ตอนนี้คุณจะต้องรอให้การปรับใช้เสร็จสิ้นและคุณจะเห็นว่า Apache ได้รับการติดตั้งและกำหนดค่าบนเซิร์ฟเวอร์เหล่านี้เรียบร้อยแล้ว

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true