Salt - rulare comenzi
Postat la Sat 19 January 2019 in tutoriale
Interactiunea cu Salt presupune utilizarea unei comenzi in consola. Cele mai uzuale comezi sunt:
- /usr/bin/salt
- /usr/bin/salt-call
- /usr/bin/salt-run
salt
Comanda salt se executa pe master si are ca parametrii minionii targhetati si comanda pe care o dorim sa o rulam pe ei.
Selectia minionilor pe care se ruleaza comanda poate fi facuta prin:
- nume
- lista
- prin expresii regulate
- in functie de atribute ale minionilor (rol, OS, etc)
- toti (*)
Formatul este salt <tinta> <comanda>. Un exemplu simplu este:
salt minion1.domeniu.meu test.ping
minion1.domeniu.meu:
True
Exemplul spune rularea comenzii test.ping pe minionul minion1.domeniu.meu. Daca comanda este executata cu success raspunsul va fi True.
Nucleul Salt include o multime de comenzi (module de executie) pentru administrarea aplicatiilor, editare firewall sau managementul utilizatorilor. Lista completa modulelor incluse o gasiti aici. De asemenea Salt permite includerea de module personalizate.
salt-run
Comanda salt-run ruleaza doar pe master si executa instructiunile segvential pe o lista de minioni prin module numite runner
salt-run manage.versions
Master:
2018.3.3
Up to date:
----------
minion1.domeniu.meu:
2018.3.3
minion2.domeniu.meu:
2018.3.3
salt-call
Comenzile ce se ruleaza centralizat pe master pot fi executate si local pe minioni. Acest lucru se face prin comanda salt-call ruleaza modulele de executie doar local.
salt-call test.ping
local:
True
Acceasi comanda rulata pe master va avea acelasi rezultat pentru ca ruleaza doar local si putem face debug.
salt-call --log-level=debug disk.percent /
[DEBUG ] Reading configuration from /etc/salt/minion
....
[INFO ] Executing command 'df -P' in directory '/root'
[DEBUG ] stdout: Filesystem 1024-blocks Used Available Capacity Mounted on
lxd001/containers/salt-master 477745920 589184 477156736 1% /
...
local:
1%
Documentatie comenzi
In Salt avem access la documentatie direct din consola cu ajutorul comenzii/modului sys
salt-call sys.doc sys.doc
local:
----------
sys.doc:
Return the docstrings for all modules. Optionally, specify a module or a
function to narrow the selection.
The strings are aggregated into a single document on the master for easy
reading.
Multiple modules/functions can be specified.
CLI Example:
salt '*' sys.doc
salt '*' sys.doc sys
...
Puteti incerca comenzile:
- sys.list_modules - pentru listarea modulelor
- sys.list_functions <modul> - pentru listarea metodelor dintr-un modul
Articolul face parte din seria Aplicatii pentru managementul configuratiilor