- SaltStack 教程
- SaltStack - 首頁
- SaltStack - 概述
- SaltStack - 架構
- SaltStack - 競爭對手
- SaltStack - 安裝
- 建立簡單的環境
- SaltStack - 訪問控制系統
- SaltStack - 作業管理
- SaltStack - Salt 檔案伺服器
- SaltStack - 使用 Git 作為檔案伺服器
- 使用 MinionFS 作為檔案伺服器
- SaltStack - 使用 Salt 與 Cron
- SaltStack - 遠端執行
- 配置管理
- SaltStack - 日誌記錄
- SaltStack - 透過 SSH 使用 Salt
- Salt 用於雲基礎設施
- SaltStack - Salt 代理 Minion
- SaltStack - 事件系統
- SaltStack - 編排
- SaltStack - Salt 包管理器
- SaltStack - Python API
- SaltStack - 工作示例
- SaltStack 有用資源
- SaltStack - 快速指南
- SaltStack - 有用資源
- SaltStack - 討論
SaltStack - 使用 MinionFS 作為檔案伺服器
MinionFS 是 Salt 為 Minion 提供的一種特殊檔案伺服器,用於 Minion 之間交換檔案。MinionFS 提供的檔案是由 Minion 故意共享的檔案。要共享檔案,Minion 必須按照以下步驟操作。
源 Minion 必須使用 cp.push 函式將檔案推送到 Salt Master。
源 Minion 推送檔案後,任何其他 Minion 都可以使用 MinionFS 檔案伺服器訪問已部署的檔案。
啟用推送
預設情況下,Minion 向 Master 推送檔案的功能是停用的。要接受來自 Minion 的檔案,Master 的配置檔案中需要設定“file_recv”選項,其值必須設定為True。預設情況下,“file_recv”的值為false。
file_recv: True
啟用該選項後,重新啟動 Master 服務。
推送檔案
Minion 可以將檔案推送到 Master。這是透過cp.push 函式執行的。此 cp.push 函式提供了一種簡單的機制,可以使用 Minion ID 由 Minion 推送檔案。
salt 'minion-id' cp.push /path/to/the/file
這裡,minion-id 用於標識哪個 Minion 正在推送檔案。此命令會將檔案儲存在 Master 的 cachedir 下名為minions 的子目錄中。通常,路徑為 – /var/cache/salt/master/minions。
對於 Minion m1 和檔案 – /var/log/mylog.txt,檔案將儲存在 – /var/cache/salt/master/minions/m1/var/log/mylog.txt。
啟用 MinionFS
要啟用 MinionFS,只需在 fileserver 後端設定中新增minion,如下面的程式碼塊所示。
fileserver_backend: - roots - minion
啟用 MinionFS 後,Minion 推送的檔案將可用為:
salt://<minion-id>/path/to/pushed/file
對於 Minion 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 還提供了一個選項,用於啟用/停用來自特定 Minion 的推送檔案的可用性。這些選項是minionfs_whitelist(啟用 Minion)和minionfs_blacklist(停用 Minion)。
minionfs_whitelist: - webserver - develop* - ‘mail\d+.mysite.com' minionfs_blacklist: - testing
在上述配置中,除了testing 之外的所有 Minion 都允許使用 minionFS 共享檔案。
Webserver1
ID 匹配正則表示式 develop * 的 Minion
ID 匹配正則表示式 mail\d+.mysite.com 的 Minion。
Testing
在下一章中,我們將學習如何使用 Salt 與 Cron。