SaltStack - ใช้ MinionFS เป็นไฟล์เซิร์ฟเวอร์

MinionFSเป็นไฟล์เซิร์ฟเวอร์พิเศษที่ Salt จัดเตรียมไว้ให้มินเนี่ยนแลกเปลี่ยนไฟล์ระหว่างกัน ไฟล์ที่ให้บริการโดย MinionFS เป็นไฟล์ที่มินเนี่ยนแชร์โดยเจตนา ในการแชร์ไฟล์ Minion ต้องทำตามขั้นตอนด้านล่างนี้

  • ซอร์สมินเนี่ยนต้องพุชไฟล์ไปยัง Salt Master โดยใช้ไฟล์ cp.push ฟังก์ชัน

  • เมื่อไฟล์ถูกผลักโดยมิเนียนต้นทางไฟล์ที่ปรับใช้แล้วจะสามารถเข้าถึงได้โดยมินเนี่ยนอื่น ๆ โดยใช้เซิร์ฟเวอร์ไฟล์ MinionFS

เปิดใช้งานการส่ง

โดยค่าเริ่มต้นการผลักไฟล์โดยมินเนี่ยนไปยังต้นแบบจะถูกปิดใช้งาน ในการยอมรับไฟล์จากมินเนี่ยนมาสเตอร์จำเป็นต้องมีอ็อพชัน“ file_recv” ในไฟล์กำหนดค่าและต้องตั้งค่าเป็นTrue. โดยค่าเริ่มต้นค่าหาก“ file_recv” คือfalse.

file_recv: True

เมื่อเปิดใช้งานตัวเลือกแล้วให้เริ่มบริการหลักใหม่

การผลักดันไฟล์

มินเนี่ยนสามารถดันไฟล์ไปที่มาสเตอร์ได้ ดำเนินการโดยไฟล์cp.pushฟังก์ชัน ฟังก์ชัน cp.push นี้มีกลไกที่ง่ายในการผลักดันไฟล์โดย minion โดยใช้ minion id

salt 'minion-id' cp.push /path/to/the/file

ที่นี่ minion-id ใช้เพื่อระบุว่ามินเนี่ยนตัวใดกำลังพุชไฟล์ คำสั่งนี้จะเก็บไฟล์ไว้ในไดเร็กทอรีย่อยที่ชื่อminions ภายใต้ master's cachedir. โดยปกติเส้นทางคือ - / var / cache / salt / master / minions

สำหรับมินเนี่ยน m1 และไฟล์ - /var/log/mylog.txt ไฟล์จะถูกเก็บไว้ใน - /var/cache/salt/master/minions/m1/var/log/mylog.txt

เปิดใช้งาน MinionFS

ในการเปิดใช้งาน MinionFS เพียงแค่เพิ่ม minion ในการตั้งค่าแบ็กเอนด์ของเซิร์ฟเวอร์ไฟล์ดังที่แสดงในบล็อกโค้ดต่อไปนี้

fileserver_backend:
   - roots
   - minion

เมื่อเปิดใช้งาน MinionFS ไฟล์ที่ผลักดันมินเนี่ยนจะพร้อมใช้งานในรูปแบบ -

salt://<minion-id>/path/to/pushed/file

สำหรับมินเนี่ยน m1 และไฟล์ที่พุช - /var/log/mylog.txt ไฟล์ที่พุชจะได้รับจาก salt: //m1/var/log/mylog.txt

minionFS นี้สามารถติดตั้งในไดเร็กทอรีพิเศษโดยใช้คอนฟิกูเรชันต่อไปนี้ มันจะแยกไฟล์ minionFS ออกจากไฟล์อื่น ๆ และจะช่วยในการจัดระเบียบไฟล์ minion

minionfs_mountpoint: salt://minionfs

สำหรับการกำหนดค่าข้างต้นไฟล์จะอยู่ในส่วน minionfs ไดเรกทอรีเป็น - salt: //minionfs/m1/var/log/mylog.txt

MinionFS ตัวเลือกขั้นสูง

MinionFS ยังมีตัวเลือกในการเปิด / ปิดความพร้อมใช้งานของไฟล์ที่ผลักจากมินเนี่ยนบางตัว ตัวเลือกคือminionfs_whitelistเพื่อเปิดใช้งานมินเนี่ยนและ minionfs_blacklistเพื่อปิดการใช้งานมินเนี่ยน

minionfs_whitelist:
   - webserver
   - develop*
   - ‘mail\d+.mysite.com'

minionfs_blacklist:
   - testing

ในการกำหนดค่าข้างต้นมินเนี่ยนทั้งหมดยกเว้น testing ได้รับอนุญาตให้แชร์ไฟล์โดยใช้ minionFS

  • Webserver1

  • มินเนี่ยนที่มีรหัสตรงกับนิพจน์ทั่วไปจะพัฒนา *

  • มินเนี่ยนที่มีรหัสตรงกับนิพจน์ทั่วไป mail\d+.mysite.com.

  • Testing

ในบทต่อไปเราจะเรียนรู้วิธีใช้ Cron กับ Salt