orchestracni nastroj

Miroslav Prýmek m.prymek at gmail.com
Thu Nov 20 09:10:03 CET 2014


On 11/20/2014 07:45 AM, Ondrej Pesta wrote:
> Zdravim vsechny.
> Premyslim o tom zacit pouzivat nejaky orchestracni nastroj na snadny deployment a spravu FreeBSD serveru.
> Moje predstava je takova, ze snadno a rychle vytvorim novou virtualni masinu ve VMware, do ni se nainstaluje zakladni instalace FreeBSD a v nem se nasledne automaticky udelaji veskere zmeny a instalace balicku podle konkretni sablony. Nasledne zmeny konfigurace serveru nebo napriklad upgrady by se delaly uz hromadne pres tento orchestracni nastroj.
> Netusim, do jake miry by takovym nastrojem bylo mozne udelat prave i ty prvni kroky, jako VMware virtual a zakladni instalaci.
> Podelte se prosim o radu ci konkretni zkusenost.
> Diky.

Ahoj,

to je spis tema na tydenni workshop, nez do konfery ;) Asi nejcasteji 
pouzivany nastroje: Puppet, Chef, Salt, Ansible, Cfengine. Tyhle vsechny 
by ve FreeBSD mely jit
pouzit. Moznosti maji podobne, lisi se hlavne zakladni koncepci 
(deklarativni vs. proceduralni), jazykem, ve kterym jsou napsany, 
molochovitosti a multiplatformnosti
(hlavne kvalitou podpory Windows).

Moje osobni shrnuti (YMMV):

Puppet: myslim, ze nejcasteji pouzivany, OSS+komercni, ruby, konfigurace 
definovana specialnim deklarativnim DSL, pomerne molochovity, jeste 
nedavno umel hlavne configuration management,
orchestrace (ovladani stroju) se musela resit trochu zvlast. Ted uz je 
to mozna lip propojene.

Chef: OSS+komercni, ruby, proceduralne orientovany, konfigurace psana v 
ruby, pomerne molochovity a vynucujici urcite postupy.

Salt: plne OSS, python, primarne deklarativni, ale velmi modularni, 
takze konfigurace se da psat ruznymi zpusoby: zakladni ja YAML, ale da 
se i v deklarativnim "jakobypythonu" nebo plnem pythonu.
Ma plne zabudovanou orchestraci a system eventu a definici reakci na ne 
(postavene nad zeromq). Trochu min molochovity, ale nic si nevynucuje, 
da se pouzivat i hodne jednoduse. Muj osobni favorit.

Ansible: plne OSS, python, mix deklarativni - proceduralni, popis v 
YAMLu, duraz na jednoduchost a pouziti uz existujicich technologii 
(napr. komunikace pres ssh). Pokud chces neco jednoducheho, tak asi
nejlepsi volba. Ukazky pouziti: 
http://www.root.cz/serialy/konfiguracni-a-orchestracni-nastroj-ansible/#ic=serial-box&icc=title

Cfengine: OSS+komercni, C, asi nejvic deklarativni a trochu slozitejsi 
na nauceni (mel by mit asi nejvic nejaky teoreticky zaklad). Vic nevim.

Pak jeste jsou ruzne minimalisticke nastroje, ktere funguji jenom na 
urovni souboru (trochu rozsireny tripwire) - zkousel jsem Radmind, dost 
se mi libil, ale umi proste jenom tuhle jednu vec a nic vic.

Nejvic muzu srovnat Chef a Salt. Priklad rozdilu: Chef ma repozitar 
"receptu", ktery funguje podobne jako git. Kdyz chci zmenit konfiguraci, 
musim zmenit ten prislusny soubor +
zmenit cislo verze v metadatech + nahrat do repozitare. Salt oproti tomu 
pracuje proste s tim, co je na serveru na disku, nebo muze pouzit i 
lokalni soubory. Takze staci zmenit konfiguraci
a spustit nastaveni klienta. Soubory si verzovat oblibenym nastrojem 
(treba ten git), obvyklym zpusobem, neni potreba se nic noveho ucit.
Mne osobne je to prijemnejsi. Taky server je jednodussi, komunikuje 
jednou cestou, pres jeden port (zeromq), zadne http API, certifikaty, 
atd. atd.)
Nevyhodou Saltu bylo, ze posledni dobou probihal hodne bourlivy vyvoj a 
protoze je FreeeBSD minoritni platforma, obcas se v nove verzi rozbilo 
neco, co do te doby fungovalo.
S nasazenim nove verze musel byt clovek docela opatrny. Taky orchestrace 
nebyla uplne spolehliva - zeromq sockety se obcas rozpadly, bylo potreba 
restartovat klienta apod. - ale to
byl mozna jenom nejaky muj problem. Kazdopadne u Saltu je velkou vyhodou 
modularita - jednotlive casti jsou oddelene a maji celkem jasne dane API 
takze neni problem
si napsat nejaky vlastni modul. Nejenom na vlastni konfiguraci neceho, 
ale treba i na parsovani konfig souboru (nejake vlastni DSL) nebo na 
posilani vysledku nekam - napr. pokud
chci, aby mi po kazdem behu prisly vysledky na jabber, neni zadny 
problem si to napsat.

Je to trochu OT tema, takze jestli se chces na neco doptat, klidne se mi 
ozvi osobne. Podle me je nejlepsi si vsechny ty nastroje aspon trochu 
vyzkouset, uvidis, ktery z nich ti nejvic sedne.
Moznosti maji fakt dost podobne, takze podle vyctu features moc rozdily 
nepoznas, ty pochopis spis pri pouzivani.

Mirek


More information about the Users-l mailing list