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
--
FreeBSD mailing list ([email protected])
http://www.freebsd.cz/listserv/listinfo/users-l

Odpovedet emailem