SaltStack - Minion proxy di sale
Ci sono molti dispositivi come router, dispositivi di rete, ecc., Con sistema operativo personalizzato, memoria limitata e considerazioni di alta sicurezza. In quei dispositivi, non siamo stati in grado di installare lo standardsalt-minione successivamente non sono stati in grado di gestire quei sistemi. Tuttavia, Salt fornisce una tecnologia innovativa per superare questo vincolo.
Salt ha un modulo separato, salt proxy minion che controlla il sistema remoto utilizzando il servizio REST in esecuzione nel sistema remoto. Questo servizio REST è un servizio Web basato su HTTP scritto utilizzando ilRepresentational State Transfer (REST) concetto e sono facili da implementare e facili da consumare.
Ogni dispositivo avrà il proprio SDK e l'ambiente di sviluppo per scrivere applicazioni complesse. Salt si aspetta che un servizio REST venga sviluppato nel dispositivo secondo le specifiche dell'interfaccia Salt. Salt fornisce anche un modulo python per scrivere il servizio web REST. Se il dispositivo supporta python, sarà facile sviluppare il servizio web REST.
Una volta che il servizio web REST è stato sviluppato e distribuito nel sistema remoto, Salt può essere configurato per controllare il dispositivo remoto utilizzando il servizio web REST invece di salt minion.
Esempio di lavoro
Impariamo il concetto di salt proxy minionutilizzando un ambiente di lavoro vivo. Per l'ambiente live, abbiamo scelto un sistema Linux sia per il master che per il proxy minion. Controlleremo il sistema utilizzando il servizio web REST invece di salt-minion.
Installa e configura il servizio Web REST
Salt fornisce un esempio dell'implementazione del servizio web REST, che è denominata proxyminion_rest_example nel suo modulo contrib. Cerchiamo di installare il servizio web di esempio.
Installare ‘bottle’usando il pip. Ilbottle command è un framework web Python per sviluppare applicazioni web.
pip install bottle = 0.12.8
Scarica il file saltstack/salt-contribprogetto da github. Altrimenti, clona il progetto utilizzando il seguente comando.
git clone https://github.com/saltstack/salt-contrib
Apri un terminale e vai al salt-contrib directory.
Questa directory salt-contrib avrà una cartella, proxyminion_rest_example. Questa cartella contiene l'implementazione di esempio per il servizio Web REST. Vai alla cartella proxyminion_rest_example.
Eseguire il comando seguente per avviare il servizio Web REST.
python rest.py --address <your ip address> --port 8000
Apri un browser e carica http: // «il tuo indirizzo ip»: 8000. Questo mostrerà la pagina predefinita con servizi e pacchetti come mostrato nello screenshot qui sotto.
Ora, abbiamo configurato il servizio web REST e controllerà come configurare il proxy salt per interrogare il servizio web REST e controllare il sistema.
Configura Salt-Proxy
Per configurare Salt-Proxy, dobbiamo seguire i passaggi indicati di seguito.
Dobbiamo specificare il nodo master per il salt-proxy. Modificare il percorso del file di configurazione del proxy, che si trova in / etc / salt / proxy, e immettere il codice seguente.
master: <your ip address>
Modifica / crea il file del pilastro di base in formato /srv/pillar/top.sls come mostrato nel seguente blocco di codice.
base:
'p8000':
- p8000
Aggiungi un nuovo file pilastro, p8000.sls nel /srv/pillar come mostrato nel blocco di codice di seguito.
proxy:
proxytype: rest_sample
url: http://<your ip address>:8000
Avvia salt-proxy in modalità debug utilizzando il seguente comando.
salt-proxy --proxyid = p8000 -l debug
Simile al salt-minion, accetta il salt-proxy key come mostrato di seguito.
salt-key -y -a p8000
The following keys are going to be accepted:
Unaccepted Keys:
p8000
Key for minion p8000 accepted.
Esecuzione del sale
Ora esegui il file salt comando e chiama il ping.test funzionare come mostrato di seguito.
salt p8000 test.ping
Possiamo eseguire qualsiasi funzione supportata dal servizio web REST utilizzando salt, che è simile a salt-minion.
Ad esempio, le informazioni sulla granulosità possono essere ottenute utilizzando il seguente comando.
salt p8000 grains.items