ใช้ SaltStack With Pillars บน Ubuntu 17.04

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

ความต้องการ

  • อินสแตนซ์ Vultr ที่ใช้ Ubuntu 17.04 (ต้นแบบ)
  • อินสแตนซ์ Vultr สองตัวที่ใช้งาน Ubuntu 17.04 (สมุน)

การตั้งค่าหลัก

หากคุณเพิ่งเริ่มต้นใช้งานและยังไม่ได้ตั้งค่า SaltStack ให้ลองอ่านบทความนี้ซึ่งอธิบายวิธีเริ่มต้นใช้งาน SaltStack

สูตร

เราเริ่มต้นด้วยการสร้างโฟลเดอร์สำหรับสูตรของเราซึ่งจะเก็บไฟล์ที่จำเป็นสำหรับการทำงานของ SaltStack ในมินเนียนของเราต่อไป

mkdir -p /srv/salt/nginx

หลังจากสร้างโฟลเดอร์เราสามารถเขียนinit.slsไฟล์ซึ่งเป็นส่วนสำคัญของทุกสูตรต่อไป:

nginx:
  pkg:
    - installed

/etc/nginx/sites-enabled/virtualhosts.conf:
    file.managed:
        - source: salt://nginx/files/virtualhosts.jinja
        - template: jinja
        - user: root
        - group: root
        - mode: 655

  cmd:
    - run
    - names:
        - service nginx restart

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

mkdir -p /srv/salt/nginx/files

เมื่อสร้างโฟลเดอร์แล้วเราสามารถเขียนvirtualhosts.jinjaไฟล์ต่อไปได้:

{% for vhost in pillar['vhosts'] %}
server {
    listen {{ vhost['listenPort'] }};
    server_name {{ vhost['serverName'] }};
    root {{ vhost['documentRoot'] }};
    index {%- for index in vhost['indexFiles'] -%}{{ index }}{%- endfor -%};
    location / {
        try_files $uri $uri/ =404;
    }
}
{% endfor %}

เสา

หลังจากสร้างสูตรเราสามารถไปข้างหน้าและตั้งค่าฐานเสาของเรา:

mkdir -p /srv/pillar/

การอ้างอิงสำหรับโฮสต์ที่ตรงกับไฟล์หลักนั้นจะถูกเขียนลงในtop.slsไฟล์ภายในไดเรกทอรีที่เราเพิ่งสร้าง ในตัวอย่างของเราเราสมมติว่ามีสองมินเนียนอยู่กับชื่อโฮสต์nginxwww1และnginxwww2ในขณะที่เราจะกำหนดให้กับไฟล์หลักทั้งสอง:

base:
  'id:nginxwww1':
    - match: grain
    - nginxwww1
  'id:nginxwww2':
    - match: grain
    - nginxwww2

ต่อไปเราจะทำการสร้างไฟล์ pillar ต่อไปnginxwww1ในขณะที่เราจะสร้าง vhost ที่ฟังบนพอร์ต 81 สำหรับโดเมนexample.comรากของเอกสาร/var/www/example_com/และไฟล์ดัชนีที่อยู่index.shtml:

vhosts:
    -
      listenPort: '81'
      serverName: 'example.com'
      documentRoot: '/var/www/example_com'
      indexFiles:
        - index.shtml

เราจะทำการสร้างไฟล์ pillar ต่อไปnginxwww2ในขณะที่เราจะสร้าง vhost ที่ฟังบนพอร์ต 82 สำหรับโดเมนexample2.com, รากเอกสาร/var/www/example2_com/และไฟล์ดัชนีที่อยู่index.jsและindex.css:

vhosts:
    -
      listenPort: '82'
      serverName: 'example2.com'
      documentRoot: '/var/www/example2_com'
      indexFiles:
        - index.js
        - index.css

หมายเหตุ:ไฟล์เสาจะถูกเก็บไว้ภายใน/srv/pillar/

การปรับใช้

ตอนนี้เราสามารถลองเสาแรกให้เสร็จโดยอัพเดทลูกน้องของเรา:

salt '*' saltutil.refresh_pillar

หลังจากนั้นเราสามารถเรียกใช้สูตร SaltStack ได้:

salt '*' state.sls nginx

การยืนยัน

เมื่อสูตร SaltStack ได้รับการวิ่งเสร็จสมบูรณ์และไม่มีข้อผิดพลาดใด ๆ เราควรจะสามารถที่จะเห็นnginxการฟังบนพอร์ต81บนnginxwww1และบนพอร์ต82บนnginxwww2เป็นการยืนยัน

ข้อสรุป

สูตร SaltStack ที่มีน้ำหนักเบา แต่ทรงพลังนี้สามารถขยายออกไปอีกเพื่อเพิ่มการรองรับ HTTPS ซึ่งอาจรวมกับ Let's Encrypt, รองรับ CGI หรือ PHP แบ็กเอนด์และทุกสิ่งที่คุณทำได้ด้วยตนเอง คู่มือนี้ควรให้แนวคิดพื้นฐานเกี่ยวกับสูตรและเสา SaltStack ที่ใช้สำหรับการปรับใช้ไฟล์การกำหนดค่า มีความสุขโดยอัตโนมัติ!

ฝากความเห็น

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