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