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