SaltStack Alapok
Mint ahogy logoutos bemutatkozásom is mutatja, rendszergazdaként tevékenykedek, de gyárilag fizikus vagyok. Ezen utóbbi tény miatt jellemző rám, hogy lusta vagyok, de ez a jobbik fajtája. Hogy mit is értek ez alatt? Ha például a feladat 10 asztali környezet összeállítása a gépteremben, akkor hamarabb írom meg a telepítő szkripteket és rakom össze a PXE/tftpboot környezetet, minthogy egyesével telepítsem a gépeket.
Azért vannak a gépek, hogy kiszolgáljanak, nem arra, hogy délutánokat töltsek a telepítésükkel! Most azonban egy további lépést tettem.
Központosított vezérlés és konfiguráció menedzsment témakörben több megoldás létezik Linux környezetben. Ilyen például a chef vagy a puppet, a több lehetséges opcióból kettőt kiemelve. Nem mennék bele ezek problémáiba, de tömören: meredek a tanulási görbe és sokszor lehet azt érezni, hogy olyan fejlesztők kezdték el írni, akik nem dolgoztak igazán nagy rendszerekkel.
Hirdetés
Mostanság viszont egy új csillag kezd felragyogni az égen, ez pedig a saltstack:
Ez egy pythonban (egészen pontosan cythonban) íródott cucc, ami egy master és egy node (avagy minion) telepítésből áll legegyszerűbben. A salt-master adja ki a parancsokat, míg a bekapcsolódott salt-minonok sokasága fogadja azokat és feldolgozza őket. Ha végeztek a munkával, visszaküldik a masternak az eredményt. A kommunikáció aszinkron, és egy masterhez több ezer node is kapcsolódhat.
Elsősorban Linuxra íródott, de elboldogul Windowson vagy BSD-n is.
Nézzük egy alap telepítést Ubuntu 12.04-re, amikor a salt-master és a salt-minion is ugyanazon a gépen lesz megtalálható. Parancsok:
sudo apt-get install python-software-properties
sudo apt-add-repository ppa:saltstack/salt
echo "127.0.0.1 salt" | sudo tee -a /etc/hosts
sudo apt-get update
sudo apt-get install salt-master salt-minion
Magyarázat: telepítem a community tárolót, hogy a legfrissebb csomagok legyenek mindig. Beállítom a gép nevét "salt"-ra, mert a minion alapbeállítás szerint ezen keresi majd a master gépet. Majd felrakom a salt csomagokat.
Csatlakoztassuk be a salt-minont a masterbe:
sudo salt-key -L
sudo salt-key -A
Magyarázat: Sajnos root joggal kell mindent futtatni, de ennek megkerülése túlmutatna jelenlegi írásomon. Az első parancs kilistázza az csatlakozni kívánó minionokat, a második pedig egy y válasz után hozzáadja annak titkosított kulcsát a masterhez.
Kimenet#1:
stopperos@sysadmin-remote:~$ sudo salt-key -L
Accepted Keys:
AO751h
raspberrypi
ubuntu-server
Unaccepted Keys:
sysadmin-remote
Rejected Keys:
Kimenet#2:
stopperos@sysadmin-remote:~$ sudo salt-key -A
The following keys are going to be accepted:
Unaccepted Keys:
sysadmin-remote
Proceed? [n/Y] Y
Key for minion sysadmin-remote accepted.
Indulhat a móka.
A cikk még nem ért véget, kérlek, lapozz!