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.