SaltStack - Utilizzo di MinionFS come file server
Il MinionFSè un file server speciale fornito da Salt affinché i servitori scambino i file tra di loro. I file serviti da MinionFS sono i file condivisi intenzionalmente dai minion. Per condividere i file, un Minion deve seguire i passaggi indicati di seguito.
Il seguace della fonte deve inviare il file al maestro del sale usando il cp.push funzione.
Una volta che i file vengono inviati dal minion sorgente, i file distribuiti possono essere raggiunti da qualsiasi altro servitore utilizzando il file server MinionFS.
Abilita push
Per impostazione predefinita, l'invio dei file da minion a un master è disabilitato. Per accettare i file dai minion, il master deve avere l'opzione "file_recv" nel file di configurazione e il suo valore deve essere impostato suTrue. Per impostazione predefinita, il valore se "file_recv" èfalse.
file_recv: True
Una volta abilitata l'opzione, riavvia il servizio principale.
Push di file
I servitori possono inviare i file al master. Viene eseguito dacp.pushfunzione. Questa funzione cp.push fornisce un meccanismo semplice per spingere i file da minion usando l'id minion.
salt 'minion-id' cp.push /path/to/the/file
Qui, il minion-id viene utilizzato per identificare quale servitore sta spingendo il file. Questo comando memorizzerà il file in una sottodirectory denominataminions sotto il master's cachedir. Di solito, il percorso è - / var / cache / salt / master / minions.
Per minion, m1 e il file - /var/log/mylog.txt, il file verrà memorizzato in - /var/cache/salt/master/minions/m1/var/log/mylog.txt.
Abilita MinionFS
Per abilitare MinionFS, aggiungi semplicemente minion nell'impostazione del backend del fileserver come mostrato nel seguente blocco di codice.
fileserver_backend:
- roots
- minion
Una volta abilitato MinionFS, i file inviati dai minion sono disponibili come:
salt://<minion-id>/path/to/pushed/file
Per minion, m1 e il file inviato - /var/log/mylog.txt, il file inviato verrà servito da salt: //m1/var/log/mylog.txt.
Questo minionFS può essere montato in una directory speciale utilizzando la seguente configurazione. Separerà i file minionFS da altri file e aiuterà a organizzare i file minion.
minionfs_mountpoint: salt://minionfs
Per la configurazione di cui sopra, il file sarà disponibile sotto minionfs directory come - salt: //minionfs/m1/var/log/mylog.txt
Opzioni avanzate di MinionFS
MinionFS fornisce anche un'opzione per abilitare / disabilitare la disponibilità di file inviati da un determinato servitore. Le opzioni sonominionfs_whitelist, per abilitare i minion e minionfs_blacklist, per disabilitare i servi.
minionfs_whitelist:
- webserver
- develop*
- ‘mail\d+.mysite.com'
minionfs_blacklist:
- testing
Nella configurazione sopra, tutti i servitori tranne testing sono autorizzati a condividere il file utilizzando minionFS.
Webserver1
I servitori i cui ID corrispondono all'espressione regolare si sviluppano *
Servitori i cui ID corrispondono all'espressione regolare mail\d+.mysite.com.
Testing
Nel prossimo capitolo impareremo come usare Cron con Salt.