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