SaltStack: központosított szervervezérlési alapok
Egy kevésbé ismert szoftver, amivel jelentősen le tudom rövidíteni a szerver üzemeltetési és telepítési feladataimat. – írta: stopperos, 10 éve
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.
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!
Azóta történt
-
WireGuard VPN a mindennapokra
Itt a megoldás, ha távolról szeretnénk elérni erőforrásainkat vagy gépeket szeretnénk titkosítva összekötni.
-
ShellShock, a bash sebezhetőség
Összeomlott-e a mítosz a nyílt forrású szoftverek biztonságáról? Miért maradt eddig rejtve a hiba?
-
SaltStack#2: Központosított telepítések
Három részes sorozatom második részében az "állapotokkal" ismerkedünk meg, és elkezdünk összerakni egy webkiszolgálóhoz szükséges alap rendszert.
Előzmények
-
Az ownCloud telepítése Ubuntu alá
Az ownCloud nyílt forrású felhő szolgáltatás, mely PHP+ajax alapokon nyugszik, vagyis platformfüggetlen. (UPDATE)
-
"Internetkávézó" vezérlőprogram
Ha nincs pénz és szükség sem drága, bonyolult szoftverre, akkor magunknak kell alkotunk egyet!
-
Linux tűzfal otthon
Debian Linux alapú tűzfal házilag, saját proxyval: dinamikus rendszer, amely könnyen alakítható.