การตั้งค่า 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 ได้รับการติดตั้งและกำหนดค่าบนเซิร์ฟเวอร์เหล่านี้เรียบร้อยแล้ว



Leave a Comment

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

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

ใช้ระบบที่แตกต่างกันอย่างไร Directus 6.4 CMS เป็นระบบการจัดการเนื้อหาแบบไม่มีหัว (Headless Content Management: CMS) ที่ทรงพลังและยืดหยุ่นซึ่งให้ผู้พัฒนา

ติดตั้งเซิร์ฟเวอร์ TeamTalk บน Linux

ติดตั้งเซิร์ฟเวอร์ TeamTalk บน Linux

TeamTalk เป็นระบบการประชุมที่ช่วยให้ผู้ใช้สามารถสนทนาด้วยเสียง / วิดีโอคุณภาพสูงสนทนาผ่านข้อความถ่ายโอนไฟล์และแชร์หน้าจอ มันฉัน

การติดตั้ง Pagekit CMS บน CentOS 7

การติดตั้ง Pagekit CMS บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร Pagekit เป็น CMS โอเพนซอร์สที่เขียนด้วย PHP ซอร์สโค้ดของ Pagekit นั้นโฮสต์บน GitHub คำแนะนำนี้จะแสดงให้คุณเห็นว่า

วิธีการติดตั้ง Sphinx Search Engine บน CentOS 7

วิธีการติดตั้ง Sphinx Search Engine บน CentOS 7

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

สร้างเครือข่ายสังคมด้วย Diaspora บน Debian 9

สร้างเครือข่ายสังคมด้วย Diaspora บน Debian 9

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

การติดตั้ง Fuel CMS บน Debian 9

การติดตั้ง Fuel CMS บน Debian 9

ใช้ระบบที่แตกต่างกันอย่างไร Fuel CMS เป็นระบบจัดการเนื้อหาที่ใช้ CodeIgniter ซอร์สโค้ดของมันถูกโฮสต์บน GitHub คำแนะนำนี้จะแสดงให้คุณเห็นว่า

วิธีการติดตั้ง Snipe-IT บน Ubuntu 16.10

วิธีการติดตั้ง Snipe-IT บน Ubuntu 16.10

ใช้ระบบที่แตกต่างกันอย่างไร Snipe-IT เป็นเว็บแอปพลิเคชั่นฟรีและโอเพนซอร์สสำหรับการจัดการสินทรัพย์ด้านไอที มันถูกเขียนบนกรอบงาน Laravel 5.2 และการใช้งาน

วิธีการติดตั้ง TestLink บน CentOS 7

วิธีการติดตั้ง TestLink บน CentOS 7

TestLink เป็นระบบดำเนินการจัดการทดสอบบนเว็บโอเพ่นซอร์ส ช่วยให้ทีมงานประกันคุณภาพสามารถสร้างและจัดการกรณีทดสอบได้เช่นกัน

วิธีการติดตั้งเครื่องมือจัดการโครงการไทก้าบน Ubuntu 16.04

วิธีการติดตั้งเครื่องมือจัดการโครงการไทก้าบน Ubuntu 16.04

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

วิธีการติดตั้ง Ranger Terminal File Manager บน Linux

วิธีการติดตั้ง Ranger Terminal File Manager บน Linux

Ranger เป็นตัวจัดการไฟล์แบบบรรทัดคำสั่งที่มีการเชื่อมโยงคีย์ VI มันจัดเตรียมอินเตอร์เฟส curses ที่เรียบง่ายและดีพร้อมมุมมองบนลำดับชั้นไดเร็กทอรี

วิธีการสร้าง Brotli จากซอร์สบน Ubuntu 18.04 LTS

วิธีการสร้าง Brotli จากซอร์สบน Ubuntu 18.04 LTS

ใช้ระบบที่แตกต่างกันอย่างไร Brotli เป็นวิธีการบีบอัดแบบใหม่ที่มีอัตราการบีบอัดที่ดีกว่า GZIP ซอร์สโค้ดของมันถูกโฮสต์แบบสาธารณะบน Githu นี้

วิธีการติดตั้ง Omeka Classic 2.4 CMS บน Ubuntu 16.04 LAMP VPS

วิธีการติดตั้ง Omeka Classic 2.4 CMS บน Ubuntu 16.04 LAMP VPS

ใช้ระบบที่แตกต่างกันอย่างไร Omeka Classic 2.4 CMS เป็นแพลตฟอร์มเผยแพร่ดิจิตอลฟรีและโอเพ่นซอร์สและระบบการจัดการเนื้อหา (CMS) สำหรับการแบ่งปันดิจิต้า

วิธีการติดตั้ง Moodle บน CentOS 7

วิธีการติดตั้ง Moodle บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร Moodle เป็นแพลตฟอร์มการเรียนรู้โอเพนซอร์ซหรือระบบจัดการหลักสูตร (CMS) - ชุดซอฟต์แวร์โอเพ่นซอร์สฟรีที่ออกแบบมาเพื่อช่วย

วิธีการติดตั้ง RabbitMQ บน Ubuntu 16.04

วิธีการติดตั้ง RabbitMQ บน Ubuntu 16.04

ใช้ระบบที่แตกต่างกันอย่างไร RabbitMQ เป็นนายหน้าข้อความโอเพ่นซอร์สที่ใช้กันอย่างแพร่หลายเขียนในภาษาการเขียนโปรแกรม Erlang เป็นมิดเดิลแวร์ที่มุ่งเน้นข้อความ

วิธีการติดตั้ง Thelia 2.3 บน Debian 9

วิธีการติดตั้ง Thelia 2.3 บน Debian 9

ใช้ระบบที่แตกต่างกันอย่างไร Thelia เป็นเครื่องมือโอเพ่นซอร์สสำหรับการสร้างเว็บไซต์ e-business และการจัดการเนื้อหาออนไลน์ที่เขียนด้วย PHP รหัสแหล่งที่มา Thelia i

การติดตั้ง pfSense บน Vultr Cloud Server

การติดตั้ง pfSense บน Vultr Cloud Server

pfSense เป็นเครื่องมือที่เหมาะสำหรับผู้ดูแลระบบที่ต้องการเพิ่มคุณสมบัติที่หลากหลายในเครือข่ายของพวกเขา มันเป็นหลักที่มาเปิด

วิธีการติดตั้งและกำหนดค่า CyberPanel บน Ubuntu 18.04 LTS

วิธีการติดตั้งและกำหนดค่า CyberPanel บน Ubuntu 18.04 LTS

ใช้ระบบที่แตกต่างกันอย่างไร Introduction CyberPanel เป็นหนึ่งในแผงควบคุมแรกในตลาดที่มีทั้งโอเพ่นซอร์สและใช้ OpenLiteSpeed อะไรนะ

วิธีการติดตั้ง LimeSurvey CE บน FreeBSD 12

วิธีการติดตั้ง LimeSurvey CE บน FreeBSD 12

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

การตั้งค่า ClamFS และ ClamAV บน Ubuntu

การตั้งค่า ClamFS และ ClamAV บน Ubuntu

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

วิธีติดตั้ง Tiny Tiny RSS Reader บน Fedora 26 LAMP VPS

วิธีติดตั้ง Tiny Tiny RSS Reader บน Fedora 26 LAMP VPS

ใช้ระบบที่แตกต่างกันอย่างไร Tiny Tiny RSS Reader เป็นโปรแกรมอ่านและรวบรวมข้อมูลฟรีแบบโอเพนซอร์ซที่มาจากเว็บ (RSS / Atom) ออกแบบมาเพื่อรองรับ

วิธีการติดตั้ง 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