Ti melyik konfigmenedzsment szoftvert, használjátok és miért? Jelenleg Puppeten vagyok, de lehet váltani lenne érdemes.
Linux szerveren mondjuk jól megy, Windows klienseken viszont vannak furcsaságok. Kinek mi a tapasztalata?
Furcsa nekem, hogy ha hibára fut egy modulban, akkor a többit vagy megcsinálja vagy nem (nem a függőségeknél, mert nyilván az úgy jó). Nem tudom ez a többinél is így van? Puppetben lehet valahogy pusholni a configot? Most kb 4 óránként fut (úgy álítottam át), de néha jó lenne azonnal kiküldeni a változtatásokat, vagy parancsokat futtatni a klienseken.
Jelenleg kb 50 Linux szerverrel viaskodik és 25 windows-os klienssel.
Kicsit úgy érzem sok tapasztalat és ötlet kapcsán, hogy illene leírni az én tapasztalataimat is.
* Alapvetően jól működik (server 3.4, kliensek 3.7.3)
* Case sensitive problémába ütköztem ( C:\abcd != C:\ABcd) és sehogy nem tudom rávenni a pulletet, hogy ilyenkor írja felül az adott fájlt mappát, hibával elszáll.
* Ha hiba van akkor bizonytalan hogy melyik modulok futnak le és melyikek nem
* Nem lehet olyat mondani, hogy egy telepítés max 1 órát fusson, ha nem sikerül akkor nyilván valami gond volt.
* A klienseken 4 óránként fut le az ellenőrzés /így konfoltam/
* Nincs mód rá hogy a szerverről kinyomjunk egy frissítést vagy lefuttassunk parancsokat az összes vagy megadott gépeken
* Nem tudom (vagy nem tudom hogy tudhatom meg egyszerűen), hogy hol sikerültek a frissítések vagy hol van valami baj.
Ugyanúgy használom Linux szerverek (Ubuntu, Debian, SUSE, Orcle Linux) menedzselésére, ott a problémák egy része nem lép fel, de a Puppet szerverről kiadott parancsok futtatása (a klienseken) ott is hiányzik. Vagy csak nem találtam rá módot?
- 10643 megtekintés
Hozzászólások
- A hozzászóláshoz be kell jelentkezni
a puppet kicket tudtommal evek ota probaljak kiirtani:
# puppet kick
Warning: Puppet kick is deprecated. See http://links.puppetlabs.com/puppet-kick-deprecation
Warning: Failed to load ruby LDAP library. LDAP functionality will not be available
Finished
de mco-val, pssh-val, ansible-lel vagy barmivel tudsz egy 'puppet agent --test'-et nyomni, vagy ha van helyi checkout, akkor `puppet apply /path/to/site.pp`
- A hozzászóláshoz be kell jelentkezni
Ezert en is eleg morcos vagyok, ha mar ott van a nyomorult puppet master, miert nem lehet kiforcoltatni a frissitest? Persze, belepkedhetek akar egyesevel is a gepekre, meg hasznalhatok tizenotfajta kulonbozo toolt, de maga az infra benne van a puppetben, miert akarnek en barmi mast hasznalni erre?
--
Ki oda vágyik, hol száll a galamb, elszalasztja a kincset itt alant:
()=()
('Y') Blog | @hron84
C . C Üzemeltető macik
()_()
- A hozzászóláshoz be kell jelentkezni
Nincs benne, mert mindig a kliens epiti ki a kapcsolatot, a puppetmaster nem kezdemenyez tranzakciot, tehat a puppet agent pull metodussal mukodik.
Az mar mas kerdes, hogy akar lehetne ilyen lehetoseg beepitve.
Mondjuk szerintem nem rossz, ha rendelkezesre all egy Mcollective telepites is a puppet melle, amivel aztan lehet a puppetrunt pocogtetni, meg meg millio mas dolgot csinalni.
- A hozzászóláshoz be kell jelentkezni
Az infra alatt a feltetelekre gondoltam, a puppetmaster tobbe-kevesbe ismeri az osszes node-t, azok elerhetosegeit, le lehet gyujtetni a factokat, meg a jo eg tudja, mennyi infot tud a master, ennyibol mar csak ossze lehetne loni egy vissziranyu kommunikaciot.
Nezegettem ezt az MCollective cuccot, viccesnek tunik, de sajnos elesben meg nem tudtam kiprobalni.
--
Ki oda vágyik, hol száll a galamb, elszalasztja a kincset itt alant:
()=()
('Y') Blog | @hron84
C . C Üzemeltető macik
()_()
- A hozzászóláshoz be kell jelentkezni
az AWS ugy hozta ossze a zonakban a gepeimet, hogy 2s-es RTT volt az eu-west-1a es eu-west-1c kozott es egy sima agent run 40 perc volt, amikor epp nem timeout-olt, en akkor alltam at mco+apply-ra:)
- A hozzászóláshoz be kell jelentkezni
Nekem halistennek ilyen bajaim nincsenek, a puppet agent szokott kopogosra fagyni, olyankor bele kell rugni egy embereset, ezen felul semmi.
--
Ki oda vágyik, hol száll a galamb, elszalasztja a kincset itt alant:
()=()
('Y') Blog | @hron84
C . C Üzemeltető macik
()_()
- A hozzászóláshoz be kell jelentkezni
igen, ez ismeros ;)
- A hozzászóláshoz be kell jelentkezni
mi eppen Salt-ot vezetünk be. Jelenleg nem tudok nyilatkozni.
puppet-t es chef mar csak a hype miatt sem akartunk :)
a dokumentációja meggyőző és ez volt az első amit olvastunk. ha lesz olyat amit nem tudunk megoldani vele akkor lehet majd migrálunk.
bár kapásból tudok egyet.
nincs modul a kávé főzésre ;)
--
A legértékesebb idő a pillanat amelyben élsz.
https://sites.google.com/site/jupiter2005ster/
- A hozzászóláshoz be kell jelentkezni
miért, hány kávéfőzőtök van? hány kávét kell lefőzzél? :D
- A hozzászóláshoz be kell jelentkezni
Én még csak a salt-stack-et ismerem jobban, azért döntöttem mellette mert gyorsan üzembe lehet helyezni és pont arra jó amit írtál, hogy gyorsan pusholni tudd a dolgokat, azonnal lefut minden a kiadás pillanatába(ha elérhető a kliens)de azonnal kapsz értesítést arról is, hogy mi történt..
Sajnos nem tökéletes vannak apróbb hibái, de sztem vállalható.
- A hozzászóláshoz be kell jelentkezni
Puppet, de nem ajánlom, én ilyen bugos szoftverrel korábban sose találkoztam. Greenfield projectnél a Chef-et nézném meg először. Sajnos nem csak implementációs, hanem tervezési problémák is vannak.
Mondjuk lehet hogy az a gond, hogy erősen szimpatizálok a Rails-szel, a DRY nagyon erősen él bennem. Ha nem zavar a redundancia akkor a problémák jó részét megkerülöd, mert legtöbb gond a rosszul kigondolt öröklés miatt van, de ugye nem kötelező örökölni.
~41k sornyi megírt .pp alapján alakult ki ez a véleményem.
- A hozzászóláshoz be kell jelentkezni
te most hasznalni szeretned vagy fejleszteni? Szerintem a kerdes a hasznalatara vonatkozott
- A hozzászóláshoz be kell jelentkezni
Ez a puppet manifest-ekre vonatkozik.
- A hozzászóláshoz be kell jelentkezni
Puppet kezdő vagyok Windows-on.
Ami nálam felmerült:
- néha a jogosultságok kliens oldalon a fejük tetejére állnak, pontosan nem jöttem rá mitől van, azután is megtörtént hogy explicit beállítottam mi legyen
- néha beragad a processz és újraindításkor nem törlődik a lock file
- push-ot nem használom, félóránta fut, alapvetően jól megy
- push-ot tud, csak az mcollective kell hozzá mintha
- scheduled task-ok kezelése még nem az igazi
- A hozzászóláshoz be kell jelentkezni
- A saltstack nagyon friss, túl új, kevés (viszonylag) a use case.
- A puppet nagyon flexibilis sokat tud, nagyon könnyű rávenni bármire, ha magadévá teszed a szemléletét.
- A chef nem ekkora hálózatra van optimalizálva. Annak a pozitívumai lenginkáb a néhány száztól néhány ezer node -ból álló rendszereken mutatkozik meg.
- A cfengine2/3 szinte bármekkora hálózatban bevezethető ez az első (tudomásom szerint) ilyen célú alkalmazás. A tanulhatósága, viszont hagy némi kívánni valót maga után. A syntaxisa és a configurálás elve (főképp a 3 esetében) meglehetősen bakafántos
Mindent össze vetve nekem jelenleg a puppet előtte a cfengine2/3 a kedvencem.
Kávé főzéshez ezt a kiegészítőt javaslom: http://www.mrcoffee.com/coffeemakers/BVMC-PSTX91WE.html
----
올드보이
http://molnaristvan.eu/
- A hozzászóláshoz be kell jelentkezni
Én próbáltam mindhármat, a SaltStack vált be legjobban:
- villámgyorsan üzembe helyezhető
- minimális tanulási fázis, átlátható config fájlok
- kevés erőforrást eszik
- A hozzászóláshoz be kell jelentkezni
puppet - ahogy fentebb is írták, bugos. de egy idő után megszokod és nem tűnik fel.
a salt nagyon megtetszett, de az is néha ugyanolyan bugos. a filozófia zsír. kár, hogy kicsit is komolyabb konfignál, gépszámnál már olyan dolgokat kellett feltalálni, hogy utoljára akkor fájt annyira a fejem, amikor egy éjszakát rászántam a brainfuck-ra. ha egy kicsit még fejlődik, akkor ez javulni fog. a sebesség nem tudom, mitől javulna, mert nem is valami gyors. egyszer rászántam egy kis időt játszani, bekonfolja az RSA II-t, feltelepíti a bubuntut, berakja nagiosba, haproxy-ba, mókol az LSI kártyával, amennyit néztem, hogy csinálja, az alatt 100 szerver is elkészült volna, de megnyugtat a tudat, hogy ez mostanában így cool.
a cfengine-ről annyit tudok, hogy úgy döntöttünk, hogy elfelejtjük. :)
- A hozzászóláshoz be kell jelentkezni
ez mikor volt?
--
A legértékesebb idő a pillanat amelyben élsz.
https://sites.google.com/site/jupiter2005ster/
- A hozzászóláshoz be kell jelentkezni
Ha van idod sokat foglalkozni vele, cserebe sok gepes kornyezetben gyorsan futo konfigmenedzsmentet akarsz akkor cfengine.
Ha gyorsan akarsz latvanyos eredmenyt elerni akkor puppet.
Ha penzt is szeretnel raszanni, akkor chef.
- A hozzászóláshoz be kell jelentkezni
Velos kis osszefoglalo.
-
Változékony Grails alkalmazás konfiguráció facepalm
- A hozzászóláshoz be kell jelentkezni
pozitivumkent irtad es egyet ertesz vele? :)
- A hozzászóláshoz be kell jelentkezni
Miert kellene a chef-hez penz? Tudtommal mukodik ingyenesen is, a cookbookok meg free elerhetok.
--
Ki oda vágyik, hol száll a galamb, elszalasztja a kincset itt alant:
()=()
('Y') Blog | @hron84
C . C Üzemeltető macik
()_()
- A hozzászóláshoz be kell jelentkezni
A penzes feature-k miatt erheti meg hasznalni.
- A hozzászóláshoz be kell jelentkezni
Attol fugg, mi a cel. Szerintem az ingyenes feature-k is vannak olyan jok, hogy megerje hasznalni. Nehol sokkal okosabb, mint a Puppet, raadasul managelni is egyszerubb.
--
Ki oda vágyik, hol száll a galamb, elszalasztja a kincset itt alant:
()=()
('Y') Blog | @hron84
C . C Üzemeltető macik
()_()
- A hozzászóláshoz be kell jelentkezni
Mi chef-et hasznalunk. Leginkabb azért mert ezt tamogatja az amazon opsworks.
- A hozzászóláshoz be kell jelentkezni
Nem használtam még egyiket sem, csak olvasgatok róluk, de az ansible beleillik ebbe a hármasba, vagy más kategória?
- A hozzászóláshoz be kell jelentkezni
Bele, bar szorosabban nezve a saltstack es az ansible kicsit jobban osszeillik, vmint chef vs. puppet.
- A hozzászóláshoz be kell jelentkezni
Köszi
- A hozzászóláshoz be kell jelentkezni
Nalunk Puppet, csak ajanlani tudom. Mondjuk erdemes elszakadni a tipikus package-file-service triotol es egy kis logikat tenni a manifestjeidbe. Ha ez megy, akkor szerintem nagyon jo.
- A hozzászóláshoz be kell jelentkezni
+1
Mi is jo par helyen hasznaljuk. Vannak neha eleg fura bugok fentebb emelitette valaki de a 3.5.x eddig egesz stabbilnak tunik.
--
"ssh in a for loop is not a solution" – Luke Kanies, Puppet developer
- A hozzászóláshoz be kell jelentkezni
Illetve logikat lehet tenni ruby-ban is, ha a manifest lehetosegei szukosnek bizonyulnak.
--
Ki oda vágyik, hol száll a galamb, elszalasztja a kincset itt alant:
()=()
('Y') Blog | @hron84
C . C Üzemeltető macik
()_()
- A hozzászóláshoz be kell jelentkezni
sub
- A hozzászóláshoz be kell jelentkezni
+1
- - - - -
XetHost
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
Esetleg ansible?
---
"Már nem csak tehetségekből, de a hülyékből is kifogytunk..."
- A hozzászóláshoz be kell jelentkezni
+ nagyonsok, csak Windowsra azért még elég kezdetlegesnek tűnik.
- A hozzászóláshoz be kell jelentkezni
Az MS sajat eszkozei nem jok Win-re (AD+GPO)?
---
"Már nem csak tehetségekből, de a hülyékből is kifogytunk..."
- A hozzászóláshoz be kell jelentkezni
Nem portable a skill set és nem sexy.
- A hozzászóláshoz be kell jelentkezni
vagy ha van pénz SCCM.
- A hozzászóláshoz be kell jelentkezni
Meg ido, hogy valaki felkonfiguralja...
- A hozzászóláshoz be kell jelentkezni
A linuxos konfig menedzsment eszközök párja windowson inkább a PowerShell DSC (Desired State Configuration). Ha barátod a .NET, akkor elég jó dolgokat össze lehet rakni vele.
- A hozzászóláshoz be kell jelentkezni
Bizonyos szempontbol korlatozott a kepessege a GPO-nak, a 3rdparty alkalmazasok supportja eleg kezdetleges egy fuggetlen implementaciohoz kepest.
--
Ki oda vágyik, hol száll a galamb, elszalasztja a kincset itt alant:
()=()
('Y') Blog | @hron84
C . C Üzemeltető macik
()_()
- A hozzászóláshoz be kell jelentkezni
ANSIBLE
Egyszerű.
SSH-n megy.
Nem kell neki a kezelt eszközön előre telepített szoftver.
Gyors.
Verziózható (git, mercurial, stb) a CM állomány.
"Csak a változás állandó." - Herakleitos
- A hozzászóláshoz be kell jelentkezni
+ rengeteg modul van hozzá, de ha hiányzik valami, sima Pythonban megirhatod magadnak.
- A hozzászóláshoz be kell jelentkezni
És még mindig csak pusholni lehet konfigot?
- A hozzászóláshoz be kell jelentkezni
Tekintve, hogy a master csinal mindent, es nincs agent...
--
Ki oda vágyik, hol száll a galamb, elszalasztja a kincset itt alant:
()=()
('Y') Blog | @hron84
C . C Üzemeltető macik
()_()
- A hozzászóláshoz be kell jelentkezni
Ha írsz elé valami wrappert, ami lehúzza, akkor lehet local-ban futtatni. Akár csomagot is csinálhatsz a playbook gyűjteményből. Vagy ott az ansible-pull, én még nem próbáltam, a push konfiguráció eddig tökéletesen bejött nekem.
- A hozzászóláshoz be kell jelentkezni
Van ansible-pull, és telepítheted pl. így:
https://github.com/ansible/ansible-examples/blob/master/language_featur…
Viszont az ansible nem nagyon van kihegyezve erre a működési módra, nem lesz központi naplód arról, hogy mi történik meg ilyenek.
- A hozzászóláshoz be kell jelentkezni
Nézegettem már korábban az ansible-t és tényleg tesztett, hogy milyen egyszerű. De pont a naplózás hiánya miatt tűnt nekem eddig valódi életben használhatatlannak. De lehet hogy csak én vagyok kiváncsi, hogy a node-okon valóban megtörtént-e a konfiguráció változtatás
- A hozzászóláshoz be kell jelentkezni
Némi utánaolvasás után a Salt-ot választottuk. A többit nem tanulmányoztam (vö. http://xkcd.com/1445/).
Az jött le nekem a cikkek alapján, hogy a maga módján mindegyik szopás. (Ha valamelyik nem lenne az, azt használná mindenki.) A kérdés leginkább az, hogy a te esetedre melyik hátrányok a leginkább lenyelhetők, illetve megéri-e váltani.
A hibákat jobban észreveszi az ember, hülyeség lenne most leírnom hogy "megkértem valamire, és jé megcsinálta". Szóval szubjektív lista az engem idegesítő hibáiról:
- A hagyományos Unix filozófia, miszerint akkor dumálunk ha baj van, tökéletes pofonbaszása. Rengeteget rizsázik a sikerről is; többezer sor output-ot kell visszatekerned hogy kiderítsd, volt-e hiba. Sőt! Ha valamelyik klienst nem tudta elérni, arról semmit nem jelez! (Lehet hogy átkonfigurálható, de bakker, hadd ne kelljen ezzel foglalkoznom!)
- Sokszor nem talál rá egy kliensre. Ha sokáig nem csinálsz semmit, és megkéred valamire, van hogy csak a kliensek egy része hallgat, aztán újra megkéred, meg harmadszor is, akkor már mindenki.
- Közel azonos verzió kell kliens és szerver oldalon. Például az Ubuntu Trusty által szállított szerver és az Utopic által szállított kliens nem kompatibilis.
- TAB completion a kliensekhez fordul az elérhető kiegészítésekért, és baromi hosszú a timeout ha bármelyik nem elérhető, vagyis gyakorlatilag használhatatlan.
- Számomra totál káosz az egyszeri parancsok és a konfig fájlba írható dolgok közti összefüggés; hasonló, de nem teljesen ugyanaz az elérhető dolgok listája.
- A konfig fájl struktúrája szörnyű, például rendszeres hogy egy lista elemei egyelemű map-ek diszjunkt kulccsal - miért nem egyetlen többelemű map? Ezen felül is szerintem erőltetett, bonyolult - bár pont ennek az ellenkezőjét mondják sokan. A függőségeket, például konfig fájl változása vagy gitből frissítés esetén szerver újraindítása, elég nehéz megérteni és nehézkes megcsinálni.
- Az elérhető funkciókban sok hiányosságot találtam, olyan dolgokat nem tud amik számomra alapok lettek volna. Például patch-et alkalmazni csak akkor tud, ha megadom a kiindulási fájl md5-jét. De ha pontosan ismerem a kiindulási fájlt, akkor akár a teljes új verziót is letárolhatnám, szóval ennek semmi értelmét nem látom; annak lenne értelme hogy kissé eltérő fájlokra is megpróbálja alkalmazni.
- Amíg olyat akarsz csinálni, amire ők is gondoltak, addig elég nagy segítség. Ha bármi speciálisabbra van szükséged, akkor szenvedni fogsz, és visszasírod a kézi ssh-val szkriptezést :)
- Szűkszavú, nehezen érthető dokumentáció.
- A hozzászóláshoz be kell jelentkezni
Ezek alapjan a Salt ismerete nelkul nekem egyertelmu, hogy ezt _nem_ valasztanam :)
Persze mindenki maskepp gondolkodik.
- A hozzászóláshoz be kell jelentkezni
Mivel sok cikk a salt-ot hozza ki nyerőnek, ezért feltételezem, hogy a többinek is vannak ehhez hasonló betegségei. Jó lenne ha valaki hozzám hasonló kritikus szemmel kiemelné a többi megoldás gyengéit.
- A hozzászóláshoz be kell jelentkezni
Puppet:
- erőforrásigényes, sokszor elkezdi enni a memóriát
- (számomra) undorító config fájlok, 1 hétig szenvedtem velük, Salt-nál 1 nap után készségszinten használtam
- van sok modul, de nekem eddig egyiket sem sikerült használni, mert: nem volt kompatibilis az OS-el, nem volt kompatibilis annak a szolgáltatásnak a legfrissebb verziójával amit kezelnie kellett volna, bele kellett volna nyúlni a modulba, mert pont olyan konfigurációs lehetőség nem volt, mint ami kellett volna. Elkapott az ideg, amikor már 6 órája próbálgattam egy adott dolog elvégzésére való modulokat.
- az agent-ek beállítása a Salt-hoz képest kínszenvedés, a salt minionok generálnak maguknak kulcsot, és bejelentkeznek a masterhez, Puppetnél (mikor használtam) ezt kézzel kellett megtenni
- a Puppet dokumentációja elég szűkszavú, sok dologra nem tér ki
Hozzáteszem a Salt-nak is megvannak az egmont által leírt hiányosságai, de alapvetően egy gyorsan tanulható, gyorsan üzembehelyezhető, szerethető eszköz.
- A hozzászóláshoz be kell jelentkezni
Nah nem mintha vedeni akarnam a puppetet de azert jo lenne tisztazni par dolgot.
- Ez 2.x sorozatban igaz volt 3.5.x folott mar nem.
- Inkabb rubyhoz hasonlo konfigja valaki szereti valaki nem de az 1 het eleg tulzo.
- Nagyon egzotikus OS-t hasznalhatsz puppetlabs altal kiadot modulok Ubuntu/Centos/Redhat kompt. altalaban. Ja ,hogy programozni kellet volna egy kicsit? Azert ez nem a kategoria ,hogy googleozol es talalsz mindenre magadnak modulet.
- Puppet agentek is maguknak a kezdetek oda maguknak kulcsot az elso indulasnal.
- bullshit.
Itt alapvetoen szerintem nem a puppetel volt a gond hanem veled. Mert ezek nem a puppet hibai voltak hanem ,hogy nem erteted meg a mukodest hanem azt vartad ,hogy letoltesz valami es egybol mukodni fog.
--
"ssh in a for loop is not a solution" – Luke Kanies, Puppet developer
- A hozzászóláshoz be kell jelentkezni
Egyetertek. Kar ebbol is vallashaborut csinalni, mindenki azzal szivatja magat amivel akarja. Annyit tudok mondani, hogy a fenti jelensegeket en meg 2.6-2.7 verzional sem tapasztaltam.
- A hozzászóláshoz be kell jelentkezni
Na álljon meg a menet, tisztázzunk akkor tényleg pár dolgot:
1. az általam leírt dolgok a szubjektív véleményemet, tapasztalatomat tükrözik. A kérdező többek között erre volt kíváncsi.
Mellesleg nem mondtam, hogy bármelyik tökéletes, vagy jobb a másiknál. Alapvetően nem vagyok csőlátású, azt vallom, hogy a feladathoz/célhoz/projekthez kell eszközt választani. Van ahol a SaltStack, van ahol a Puppet, van ahol a cfengine, van ahol teljesen más a jó megoldás.
2. "Inkabb rubyhoz hasonlo konfigja valaki szereti valaki nem de az 1 het eleg tulzo."
Nem tudom, programozok Ruby-ban, de nekem a Puppet config fájljai a Salt-éhoz képest átláthatatlanok. Az 1 hét 1 hét volt, lehet másnak fele annyi, az is lehet, hogy másnak a Salt-é nem fog tetszeni. Ismétlem, csak, hogy megértsd: szubjektív vélemény, tapasztalat.
3. "Nagyon egzotikus OS-t hasznalhatsz puppetlabs altal kiadot modulok Ubuntu/Centos/Redhat kompt. altalaban."
Így van, csak a PuppetLabs nem gyárt a világ minden szoftveréhez modult. Sajnos vannak egzotikusabb dolgok is, amiket kénytelenek vagyunk használni, és nincs hozzá official modul.
4. "Ja ,hogy programozni kellet volna egy kicsit? Azert ez nem a kategoria ,hogy googleozol es talalsz mindenre magadnak modulet."
Ne haragudj, de nem hiszem, hogy ismerjük egymást, így nem tudom mire vélni ezt a megjegyzésed. Két cég vezető fejlesztőjeként programozok eleget (nem rendszergazda vagyok), mellesleg a vége az lett, hogy minden modult megírtunk magunknak.
5. "Puppet agentek is maguknak a kezdetek oda maguknak kulcsot az elso indulasnal."
Anno én mikor elkezdtem belemélyedni, az official guide úgy kezdte az adott részt, hogy "generáljunk kulcsot". Persze lehet rosszul emlékszem, ez benne van a pakliban.
6. "bullshit"
Szerintem ez itt egy szakmai fórum. Ha nem vagy képes kulturáltan vitatkozni egy témáról, akkor ne szólj hozzá. Ha igen, akkor támaszd alá érvekkel, és ha jogos, akkor meggyőzöl, vagy beszélgethetünk róla tovább.
"Itt alapvetoen szerintem nem a puppetel volt a gond hanem veled. Mert ezek nem a puppet hibai voltak hanem ,hogy nem erteted meg a mukodest hanem azt vartad ,hogy letoltesz valami es egybol mukodni fog."
Szerintem nem ismerjük egymást, így nem tudom milyen alapon írod ezt. Nem vártam semmi ilyesmit, egyrészt mint fentebb is részleteztem, a végén megírtuk mi magunk a szükséges modulokat tokkal, vonóval, másrészt pedig már ne haragudj, de ha fent volt a Puppet Forge-on a modul, akkor gondoltuk előbb megnézzük, mielőtt elkezdünk munkaórákat beleölni a saját modulok megírásába. Tudod vannak emberek akik ilyen munkahely nevű izében dolgoznak (majd próbáld ki egyszer, adnak pénzt a munkádért meg minden), és sajnos bizonyos külső tényezők behatárolják az erőforrásokat (menedzsment, ügyfél, stb).
ui.: bocs ha elragadtattam magam, de nem igazán bírom felfogni, hogy egyes emberek egy szakmai fórumon elkezdenek okoskodni/személyeskedni, nem képesek elfogadni, hogy nem csak az ő nézőpontjuk létezik, és képtelenek kulturált szakmai vitát folytatni. Ilyenkor én is felveszem az ő stílusukat.
- A hozzászóláshoz be kell jelentkezni
Én nem igazán hiszek a 3rd party, előregyártott puppet modulokban. A saját modulok rövidebbek, egységes elvek mentén működnek, így egyszerűbb belenyúlni és karbantartani. Először persze sok kész modult kezdünk el használni, aztán ezek elkezdtek kikopni, mert gyakran több idő ment el rájuk mint megírni a nulláról. Ezt számomra összességében pozitívum: ennyire könnyű modult írni.
Én nem találkoztam a többi felsorolt hátránnyal se. Üzemeltetési szempontból jó a puppet, stabilan, megbízhatóan fut a gépeken, könnyű telepíteni és monitorozni.
Szerintem a puppet jó eszköz, az öröklést és a nyelv egyes elemeit leszámítva. A probléma állatorvosi lova a #5517. Nem ez az egyetlen probléma vele, de legszebb példája annak, hogy mennyire nem volt (jól) kitalálva amikor megalkották és ettől azóta sem szabadultak. És ez nem csak az én véleményem;
Status: Accepted
Priority: High
Added by Peter Meier about 4 years ago
( és nem, a Hiera nem váltja ki az öröklést. :)
- A hozzászóláshoz be kell jelentkezni
Egyetertek veled a sajat modulok vs mar megirtakban.
A regebbi 2.7 elotti Puppetnel volt egy szep bug, neha, elrontotta a serveren a fileok jogait...Nagyon orvendetes vele szembesulni :)
Upgrade utan elmult ez a problema. Csak ugy megjegyzeskent:)
- A hozzászóláshoz be kell jelentkezni
altalaban a kodujrahasznositast tamogato nyelvi elemek hianya/hianyossagai olik meg a forge-rol letoltheto modulok nagy reszet, lasd params pattern vs module_data, meg a hiera hasznalatanak olyan korlatai, amik miatt gyakorlatilag _mindenhez_ kell egy wrapper, amit onnan toltesz le.
- A hozzászóláshoz be kell jelentkezni
Igen, de ugye nem csak a forge-os modulok felhasználhatóságát érinti ez a hiányosság, a saját fejlesztéseket is bekorlátozza, az jobban fáj.
- A hozzászóláshoz be kell jelentkezni
Csak amihez en is hozza tudok vau.
5) Ez szerencsere eleg sokat valtozott: https://docs.puppetlabs.com/guides/install_puppet/post_install.html a node-k automatikusan generalnak maguknak kulcsot es beposztolnak egy CSR-t, neked a master oldalan csak egy darab paranccsal approve-olni kell, ami mellesleg general egy publik kulcsot a node-nak, majd a puppet agent ujboli futtatasaval automatan telepul is a cert.
6) Szerintem is nagyon regen nezted mar a puppet doksijat. A docs.puppetlabs.com -nal keves reszletesebb dokumentaciot olvastam, igazabol sok szoftverhez ennek a tizede sincs. Lehet, hogy regen keves doksi volt hozza, de ez ma mar egyaltalan nem igaz.
--
Ki oda vágyik, hol száll a galamb, elszalasztja a kincset itt alant:
()=()
('Y') Blog | @hron84
C . C Üzemeltető macik
()_()
- A hozzászóláshoz be kell jelentkezni
5) meg kezzel sem kell hozzanyulni, van autosign, policy-based autosign, szoval eleg jol le is vedheto.
- A hozzászóláshoz be kell jelentkezni
> Szerintem ez itt egy szakmai fórum. Ha nem vagy képes kulturáltan vitatkozni egy témáról, akkor ne szólj hozzá.
Szakmai forum es kulturaltam forumozott, total relevans volt a hozzaszolasa.
Mielott felhuzod az orrod egy szakmai forumon, gondold vegig, h lehet, megis veled van a prolema, pl. ez:
"Két cég vezető fejlesztőjeként programozok eleget (nem rendszergazda vagyok)"
Nem a te hibad, h nem rendszergazda vagy, de talan nem is a puppet-e:)
t
ui.: Egy nagyreszt elegedetlen puppet felhasznalo vagyok.
- A hozzászóláshoz be kell jelentkezni
"Szakmai forum es kulturaltam forumozott, total relevans volt a hozzaszolasa."
Rendben, akkor idézek:
- "bullshit."
Ez nekem nem egy szakmai, érvekkel alátámasztott állítás.
- "Itt alapvetoen szerintem nem a puppetel volt a gond hanem veled. Mert ezek nem a puppet hibai voltak hanem ,hogy nem erteted meg a mukodest hanem azt vartad ,hogy letoltesz valami es egybol mukodni fog."
Ez eléggé személyeskedésnek tűnik. Nem hiszem, hogy kulturált viselkedés bárkiről ismeretlenül, és a helyzet ismerete nélkül egy publikus fórumon ilyesmit írni. És ez se tűnik se túl szakmainak, sem érvekkel alátámasztottnak.
- "Ja ,hogy programozni kellet volna egy kicsit? Azert ez nem a kategoria ,hogy googleozol es talalsz mindenre magadnak modulet."
Ez is eléggé személyeskedésnek tűnik, lásd előző az előző pontot.
"Mielott felhuzod az orrod egy szakmai forumon, gondold vegig, h lehet, megis veled van a prolema"
Nem húztam fel az orrom, de én a kérdező kérdésére feleltem, és nem álltam neki másokat ócsárolni.
"Nem a te hibad, h nem rendszergazda vagy, de talan nem is a puppet-e:)"
Az észrevételeim egy részét amiket leírtam a Puppet-el kapcsolatban, mások is megerősítették ebben a thread-ben. Tény, hogy amit leírtam, nem túl up-to-date, régebben foglalkoztam vele, azóta egy-két dolog változott.
Az, hogy vezető fejlesztő pozícióban dolgozok két cégnél, nem jelenti azt, hogy a tudásom lekorlátozódik erre, nem írtam le, de tudok például főzni, barkácsolni, és menedzseltem Puppet-el anno pár gépet, és jelenleg SaltStack-el egy 46 főt számláló gépparkot (Heartbeat, Pacemaker, Varnish, nginx, PHP-FPM, node.js, Java, Gearman, MariaDB Galera Cluster, memcached, Redis, ElasticSearch, Hadoop, Exim, Icinga, Logstash), de olyan cégek rendszereihez is közöm van, amit jó eséllyel az itt fórumozók ettek, vagy ittak már. Amúgy nem hibáztattam a Puppet-et, mint korábban is írtam, a saját szubjektív véleményeimet, tapasztalataimat írtam le, a kérdező erre volt kíváncsi. És mint írtam, a többinek is vannak hibái.
- A hozzászóláshoz be kell jelentkezni
>>> - a Puppet dokumentációja elég szűkszavú, sok dologra nem tér ki
>> - "bullshit."
> Ez nekem nem egy szakmai, érvekkel alátámasztott állítás.
Vazold fel kerlek, h amit te irtal, az miert relevansabb:)
> Amúgy nem hibáztattam a Puppet-et
Nekem pedig ez jott le.
Kaptal egy eleg nyers, de korrekt es szerintem relevans valaszt az irasodra. Nincs ezzel semmi baj, nem kell tulcizellalni a dolgokat. Tovabba szerintem a hataron belul is maradt es amit irt, szemelyeskedes sem volt.
Ahogy szoktak mondani, just my 2 cents:)
t
- A hozzászóláshoz be kell jelentkezni
Jó, akkor gondold azt amit szeretnél. :)
Szokták mondani, hülyékkel nem érdemes vitatkozni.
- A hozzászóláshoz be kell jelentkezni
Akkor ez a ki szemelyeskedik, ki nem temat at is targyaltuk.
Legalabb kiderult, h jol gondoltam..
- A hozzászóláshoz be kell jelentkezni
Bocs en se akartam nyers lenni.Csak probaltam bemutatni ,hogy amiket leirtal az nem feltetlen alja meg a helyet a valosagban.
--
"ssh in a for loop is not a solution" – Luke Kanies, Puppet developer
- A hozzászóláshoz be kell jelentkezni
OFF: Je, azt hittem eltuntel...
ON: a puppet es a chef kozott vagyok feluton. Rettenetesen imadom a puppetet, bar a ruby nyelvu alaprogramozast csak nemregiben kezdtem el elsajatitani, a manifestekben azert meg igy is rengeteg mindent el lehet intezni. A chef ket dolog miatt tetszik igazabol: sokkal jobban van megcsinalva a kozponti node management, illetoleg a ruby szintaxis kozelebb all a szivemhez. De azert meg a puppet fele huzok.
--
Ki oda vágyik, hol száll a galamb, elszalasztja a kincset itt alant:
()=()
('Y') Blog | @hron84
C . C Üzemeltető macik
()_()
- A hozzászóláshoz be kell jelentkezni
Frissítettem a kiírást a tapasztalataimmal.
KAMI | 神
Firefox OS: https://is.gd/fxoshu Linux Mint: http://linuxmint.hu LibreOffice: http://libreoffice.hu SeaMonkey : http://is.gd/smhun
Legyél Te is Mozilla és Linux Mint önkéntes!
- A hozzászóláshoz be kell jelentkezni
A felsorolt pontok közül nekem több is oprendszerfüggetlennek tűnik;
> Ha hiba van akkor bizonytalan hogy melyik modulok futnak le és melyikek nem
Itt igazából arra gondolsz, hogy tranzakció alapú apply kéne, hogy a rendszer mindig egy működőképes állapotban maradjon? Szép lenne, de ezt szerintem egyik SCM se tudja jelenleg automatikusan. Ha nem erre gondolsz, akkor nem értem a problémát.
> Nem lehet olyat mondani, hogy egy telepítés max 1 órát fusson, ha nem sikerül akkor nyilván valami gond volt.
Linuxon cron-ból futtasd, ne agent-ként:
timeout 1h puppet agent --no-daemonize --onetime
Így egy csomó RAM-ot is megspórolsz. A Windows-t nem ismerem, de gondolom ott is van ezen az elven megoldás.
> Nincs mód rá hogy a szerverről kinyomjunk egy frissítést vagy lefuttassunk parancsokat az összes vagy megadott gépeken
Erre más eszközök vannak, pl a distributed shell-ek. Azzal lehet triggerelni az instant frissítést is. Én nem vagyok meggyőződve arról, hogy ez az SCM dolga, annak a hiányossága lenne.
Kicsit olyan, mint számonkérni a http szerveren, hogy miért nem frissíti a brózeremben a lapot ha változott a tartalom a szerveren. Pull vs push ugye.
> Nem tudom (vagy nem tudom hogy tudhatom meg egyszerűen), hogy hol sikerültek a frissítések vagy hol van valami baj
https://docs.puppetlabs.com/guides/reporting.html
- A hozzászóláshoz be kell jelentkezni
"Nincs mód rá hogy a szerverről kinyomjunk egy frissítést vagy lefuttassunk parancsokat az összes vagy megadott gépeken"
De erre van lehetoseg mcollectivenek hivjak linuxon megy windowson nem hasznalom. Csak alapbol a puppet nemtudja regen volt kick de az mar nem hasznalatos.
Amugy manageles szempontjabol erdemes lenne megismerkedned foremannal.
--
"ssh in a for loop is not a solution" – Luke Kanies, Puppet developer
- A hozzászóláshoz be kell jelentkezni
A PuppetDB-hez van valami ertelmes frontend? En elkezdtem a PuppetDB-t hasznalni, de a dashboard elegge gyer, egy foreman szintu felulet kellene legalabb.
--
Ki oda vágyik, hol száll a galamb, elszalasztja a kincset itt alant:
()=()
('Y') Blog | @hron84
C . C Üzemeltető macik
()_()
- A hozzászóláshoz be kell jelentkezni
Ha találsz valami ne tartsd magadban!
Zabbix-hoz próbálok plugin-okat írni ami a PuppetDB-t kérdezi le , de egyenlőre még csak a fejemet vakarom...
Félek fordítva ülök a lovon :)
Üdv!
- A hozzászóláshoz be kell jelentkezni
Most egyelore hanyagolom a PuppetDB-t, ez a foreman viccesnek tunik, legalabbis elso latasra. Egy turhetoen kinezot talaltam itt, kiprobalni en se probaltam meg ki, de a leiras alapjan egesz jo.
--
Ki oda vágyik, hol száll a galamb, elszalasztja a kincset itt alant:
()=()
('Y') Blog | @hron84
C . C Üzemeltető macik
()_()
- A hozzászóláshoz be kell jelentkezni
A katello-t már nézed? Azért hőköltem vissza, mert elég régiek voltak a komponensek.
Mindig az van, hogy jól körbenézek meg csorgatom a nyálam, hogy mi jó lenne egy ilyesmi, aztán előbb utóbb előjönnek a korlátok, és rájövök, hogy mezítláb "kényelmesebb"
- A hozzászóláshoz be kell jelentkezni
Ahogy nezem, ez valami foreman-fork, legalabb a feluletet atbrandelhettek volna, de whatever. Mindenesetre en most zoldmezos beruhazast inditottam, szoval szinte barmi jo lehetne, de a foreman azert tetszik nagyon, mert GUI-bol tudom odakattintani a classokat, szinte nem is kell konfigolni rajta tul sok mindent. Ha kell majd valami "mezitlabas", akkor csinalok ra kulon modult, oszt' csokolom.
--
Ki oda vágyik, hol száll a galamb, elszalasztja a kincset itt alant:
()=()
('Y') Blog | @hron84
C . C Üzemeltető macik
()_()
- A hozzászóláshoz be kell jelentkezni
Itt a srácok nézegetik, ha jól értem kb foreman, plusz valami izé, ami a spacewalkot hivatott leváltani repo management ügyileg.
- A hozzászóláshoz be kell jelentkezni
En nem PuppetDB-vel hasznalom hanem hieraval.
Szoval sajnos nemtudom.
--
"ssh in a for loop is not a solution" – Luke Kanies, Puppet developer
- A hozzászóláshoz be kell jelentkezni
Sziasztok,
Így a topic nyitása után másfél évvel rákérdeznék, hogy mit ajánlanátok kombinált windows és linux konfig managementre?
Nincs szükség űrtechnikára, legyen inkább megbízható/átlátható és könnyen (akár pár nap alatt) bevezethető.
Köszi!
- A hozzászóláshoz be kell jelentkezni
Puppet + hiera
Nalunk az megy, linux, win, meg OSX
- A hozzászóláshoz be kell jelentkezni
Köszi, felírtam.
- A hozzászóláshoz be kell jelentkezni
sub
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
A "par nap alatt bevezetheto" nagyban fugg a kornyezet bonyolultsagatol. :)
- A hozzászóláshoz be kell jelentkezni
Sziasztok, akkor én is kérdeznék :)
Van egy rakás különböző szoftver komponensük, változatos nyelvben írva (java, cpp, python, php, stb.) Amire szükség lenne, hogy a fejlesztők (linux, win7/10, etc.)
egy parancs leütésével kapjanak egy virtuális gépet, ami futtat egy általuk megadott svn branchbeli kódot + konfigurációt. Hogy egy ilyen virtuális környezet 1 óra
alatt áll elő, az önmagában nem gond, a fejlesztés úgy szokott kinézni, hogy fogjuk a cpp szervert, összerakjuk, az elfut magában, és mi kódoljuk hozzá a klienseket.
Az első ötletem az volt, hogy mindent külön docker container-be rakok, de aztán belefutottam abba, hogy bizonyos komponensek általunk buildelendő kernel modulokat
használnak. Úgyhogy most van egy vagrant file-om, ami kb. így néz ki:
#Core files
config.vm.provision "shell", path: "core/increase_swap.sh"
config.vm.provision "shell", path: "core/packages.sh"
config.vm.provision "shell", path: "core/postgresql.sh"
config.vm.provision "shell", path: "core/java.sh"
config.vm.provision "shell", path: "core/maven.sh"
config.vm.provision "shell", path: "core/tomcat.sh"
#Server files
config.vm.provision "shell", path: "server/packages.sh"
config.vm.provision "shell", path: "server/wanpipe.sh"
config.vm.provision "shell", path: "server/ace.sh"
...
config.vm.provision "file", source: "server/production.cfg", destination: "/home/vagrant/production.cfg"
config.vm.provision "shell", path: "server/build.sh"
...
Ez így falura jó lesz, viszont nem tudom, nem-e lehetne ezt valahogy szebben megoldani, erre várnék ötleteket, tanácsokat. A használat kb. az, hogy minden fejlesztő kicheckolja az SVN-ből
a test könyvtárat, majd egy konzolt nyitva végrehajt egy vagrant up-ot, utána pedig elmegy ebédelni. Ebéd után ott lesz neki a szépen futó rendszer. :)
- A hozzászóláshoz be kell jelentkezni
En ezt ugy oldom meg, hogy ansible-ben van egy playbookom (3 role: create route53_dns, create_security_zone, create_instances)
Ez felporget par szervert AWS-ben (a szerverek szama, feladata, stb. a playbook parameterektol fugg, es taggelem oket ennek megfeleloen project= env= serverrole= )
A kovetkezo playbook var amig a szerverek talpra allnak (kb 3-5 perc), aztan lefuttat egy common (apt-update, user-mgmt install xyz packages)
Idokozben a hatterben amig a fentiek mennek Jenkins mar epiti a csomagokat es ha keszen vannak felkuldi a binarisokat S3 bucketbe
Az installalo playbook lerantja a binarisokat, kicsomagolja oket a megfelelo szerverre, alkalmazza a J2 templateket (valtozok ansible-ben) a konfiguraciora es elinditja a szervert.
Az utolso playbook beallitja a front-end proxy Virt-hostjat az eppen felallt kornyezetre es reloadolja a proxy-t.
A fentiekket egy Jenkins Jobba fuzve - ha a fejlesztok keszitenek egy uj branchet a masterbol es a jenkins pipeline triggerelve van akkor 15 perc mulva a kornyezet elerheto a https://BRANCH-NAME.endomainem.com -on, teljes integracioval vagy stubokkal attol fugg hogy parameterezik a Jenkins Job-ot.
- A hozzászóláshoz be kell jelentkezni
Na, akkor rögtön egy kérdés. A jenkins az hol fut, különálló szerveren? Ha pl. linux kernellel kell modult összeforgatni, akkor azt hogy oldanád meg? Mert ha jól értem, akkor a szerverek itt tényleg csak kb. containerek, tehát van bennük max egy tomcat, azt annyi, és a jenkinsről töltik lefele a binárisaikat.
- A hozzászóláshoz be kell jelentkezni
Az AWS kuon VPC-k vannak:
Services: itt van jenkins, logstash, selenuim, jmeter - mittomenmegmi... (services na :) )
Playground: ide mindeki kedvere cimbalhatja fel a hostokat es a stackeket... (webstack, app, db stb...)
Developmet:
Performance: itt futtatja a jenkins a loadtesteket
preprod
prod
Ezekben a VPC-ben mind mind tobb kulonbozo "fuggeloeges" (FE,app,db,stb) kornyeztet kepzelj el sec-groupokkal elvalasztva. (PL prodban van egy Live-instaces taggolt stak kulon ELB-ben meg egy standby... Lehet mas is csak nincs ertelme...
A jenkins maga a master nem egy erogep, de van neki ugyanott a servicesben jopar slave-je akik epitenek latastol mikulasig es keszitik a csomagokat az ansible/jenkins kombonak...
A te esetedbe nem igazan tudom mit mondjak - nalunk java appok vannak amiket epitunk, mondjuk ha linux kernelt akarsz forgatni legyen egy olyan jenkins slave-ed ami kulon van tagelve es a kuloleges dolgokat azon epitsd... Teszteleni lehet tobb fele AMI (geptipus) template-ed amire a create_instance ansible playbook hivatkozik es eppen azt rantja be amelyik neked tetszik es abbol a template-bol epit neked 1-2-4-8 magos X gigas gepet... (tesztelni sztem eleg a micro is)... Mondjuk ameddig a konkret kovetelmenyeket nem tudom nem igazan tudok mit mondani - en csak leirtam en hogyan oldottam meg ezt (most ez volt a feladat)...
- A hozzászóláshoz be kell jelentkezni
Ez nagyon komoly, most elég hülyének érzem magam, de próbálom szépen felszívni a tudást :D Kb. mennyi idő volt ezt ilyen szépen összerakni?
- A hozzászóláshoz be kell jelentkezni
KB 2 - 3 het...
Nem olyan bonyolult mint elsore hangzik... A kulcs a jo tervezes :)
Csomag es binaris epites: Jenkins - eredmeny tarolva S3...
Playbook hogy epitsen egy VPC-t (sec groupok, route53, elb)
Playbook hogy felrants egy instancet (parameterzheto) {{ env }} {{ serverrole }} { egyebparameter }}
Playbook hogy installja a cuccot az S3-bol (parametterezheto - {{ Bin_version }}, {{ conf_version }}, {{ appname }}
ansible-ben ez nem tul bonyolult - az AWS-re tok jo moduljai vannak...
- A hozzászóláshoz be kell jelentkezni
Mondjuk a fentiek nem teljesen fedik a valosagot... Maga a playbookok megirasa valoban 2-3 het volt, de a teljes kialakitas, monitoring, infrastruktura tervezes, configuracio templatezes, standardizalas, teszteles egy rakat trial-and-error, integralas, 3rd party kapcsolatok kialakitasa, stb. korulbelul 6 honapnyi munka 2 embernek. Ha megvan a terv, megvan egy jo build process, a fentiek akkor maga a megvalositas kb 2-3 het volt...
- A hozzászóláshoz be kell jelentkezni
Elkezdtem Ansible-lel játszani. Tetszik, hasznos, gyors és gyorsan tanulható.
KAMI | 神
Linux Mint: https://linuxmint.hu LibreOffice: http://libreoffice.hu SeaMonkey : http://is.gd/smhun
Legyél Te is Mozilla és Linux Mint önkéntes
- A hozzászóláshoz be kell jelentkezni
Akárhogy nézem, ez fizetős. :/
- A hozzászóláshoz be kell jelentkezni
nem, csak a tower az. Maga az ansible opensource.
- A hozzászóláshoz be kell jelentkezni
1. apt-get install ansible
2. ird meg a playbookodat
3. ansible-playbook xyz.yml
4. Orul :)
- A hozzászóláshoz be kell jelentkezni
+1 Puppetrol valtottunk sokkal egyszerubb, gyorsabb es attekinthetobb. Jenkins jobokbol hivogatom a playbookokat a klikkelos fejlesztoknek, minden git repobol jon, a templatezes j2 (jinja2 ) hasznal... Gyors, egyszeru, kulon modulja az AWS dinamikus inventory, route53, sec-group stb... Teszi a dolgat
- A hozzászóláshoz be kell jelentkezni
+1 tokeletes leiras
Nalunk Puppet+Hiera volt elotte, nagysagrendekkel jobb megoldas az Ansible
- A hozzászóláshoz be kell jelentkezni
Tetszik, hogy YAML, de meg a Puppetnel is kevesbe termeszetesnek erzem. Mindenesetre en elkezdtem hasznalni, de csak arra, hogy egyszerre sok gepen ussem le ugyanazt az 1-2 parancsot.
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
Sajnos ugyanezt látom minden nap, pedig _ehhez_ teljesen felesleges az Ansible, megteszi egy pssh is.
(Kiegészítés: én személy szerint a Chef-ben hiszek és inkompatibilis vagyok a YAML-lel.)
------------------------
{0} ok boto
boto ?
- A hozzászóláshoz be kell jelentkezni
Nekem ez reszben azert is jo, mert nyoma marad, igy ha valamit ismet meg kell csinalni, csak eloveszem a korabbi playbookot, atfazonirozom, aztan hadd szoljon. Tipikusan ilyen a user lockdown.
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
Hja, ez teljesen rendben is van. Félreértettelek: azt hittem, ad-hoc parancsok tömeges végrehajtására használod. (Erre is alkalmas, erre látok sok rossz példát. Teljesen playbook-menteseket.)
------------------------
{0} ok boto
boto ?
- A hozzászóláshoz be kell jelentkezni
Teljesen szakmai alapon (melyik weblap design-ja tetszik jobban) úgy döntöttem, Ansible-lel indulunk.
Megnéztem pár videót, elolvastam ezt-azt, de egyelőre nem világos, hogy milyen user nevében kellene ügyködnie a remote gépen.
Kényelem szempontjából nyilván a root (Administrator) lenne a legjobb, de nem tartom túl jó ötletnek.
Van erre valami best practice?
- A hozzászóláshoz be kell jelentkezni
Csinalhatsz egy masik usert es ahhoz wrappert, forcecommand (vagymias).
- A hozzászóláshoz be kell jelentkezni
nalunk egy egy kulon user erre - a Privat kulcsa vaultban. Aztan ha mondjuk mas userkent kell ugykodni a gepen akkor become:yes es mar rootkent teszi a tovabbiakat a remote node-on...
- A hozzászóláshoz be kell jelentkezni
Security szempontbol erosen javasolt, hogy a root userrel ne tudj besshzni egy szerverre, ezert celszeru nevesitett user(eke)t es/vagy management user(eke)t letrehozni es ezeknek a userek szamara biztositani a megfelelo szintu adminisztratori szintu jogokat sudoval.
Az Ansible kezdetben csak Linux/Unix rendszerek menedzselesere volt alkalmas es azt is csak SSH-n keresztul, ezert ott a su es a sudo tokeletesen eleg volt, de 1.7-tol mar megjelent a Windows rendszerek tamogatasanak csiraja, amit WinRM-en keresztul valositanak meg, illetve itt mar nem mukodik a su, sudoval valo jogosultsag megszerzesenek a lehetoseg.
Ennek a problemanak a megoldasara jott letre a become, amelyben a korabbi su es sudo mar csak egy jogosultsagi modszer.
Az Ansiblet en dedikalt management gep(ek)en futtatom, management userrel, amely SSH-n keresztul, kulccsal kapcsolodik a menedzselni kivant gephez, szinten egy management userrel, amelynek az adott sudoers fajlban engedelyezem, hogy sudo jelszo nelkul tudjon a root user neveben tevekenykedni.
Termeszetesen - paranoia szinttol fuggoen - lehet szabalyozni, hogy a menedzsement user az egyes feladatokat milyen linux vagy sudo userrel/csoporttal tudja ellatni.
- A hozzászóláshoz be kell jelentkezni
> root user neveben tevekenykedni.
Pontosan hogyan, mindent engedelyezel?
En is igy csinalom, de mindig megvan az az erzesem, h adtam a szarnak egy pofont.
- A hozzászóláshoz be kell jelentkezni
legalább az ssh root@ jellegű okoskáktól véded magad.
- A hozzászóláshoz be kell jelentkezni
Hogyan ved?
- A hozzászóláshoz be kell jelentkezni
úgy, hogy ha le tudod kapcsolni a root-tal való direkt logint, akkor az ismert usernévvel próbálkozó biztosabban nem jut be, mintha lenne elméleti esélye, hogy mondjuk megtörik a kulcsot, vagy a root jelszavát. (ráadásul viszonylag egyszerűen lehet mondjuk fail2banolni)
Nem nagy ügy ez egyébként inkább csak junk control.
- A hozzászóláshoz be kell jelentkezni
Igen, mindent.
echo "mgmtusr ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/mgmtusr
Ahogy irtam, termeszetesen lehet tovabb fokozni a jogosultsagok szabalyozasat,
illetve lehet sudo passwordot is megadni, ha szeretned.
Noveli a biztonsag erzetet:
- Ha az SSH hozzaferesek szamat lecsokkented (csak limitalt gepekrol lehet hozzafereni az adott szerverhez).
- Ha csak megadott accountokkal lehet csatlakozni.
- Ha az engedelyezett accountok csak SSH kulccsal tudnak kapcsolodni.
- Ha a hozzaferesek kozpontilag loggolva vannak.
Kitol vagy mitol szeretned jobban megvedeni magad?
- A hozzászóláshoz be kell jelentkezni
> tovabb fokozni
Errol beszelek, hogy bar ez a bevett modszer, valojaban senki nem fokozott itt meg semmit.
> - Ha csak megadott accountokkal lehet csatlakozni.
Ez konkretan mi? Amugy nemcsak megadott accountokkal lehet?;)
> Kitol vagy mitol szeretned jobban megvedeni magad?
Egyelore ott tartunk, hogy a fentivel a direkt root loginhoz kepest elobbre van-e a user.
Ugy alapbol szerintem nem, fuggetlenul attol, hogy ez a bevalt eljaras.
- A hozzászóláshoz be kell jelentkezni
> tovabb fokozni
Minden attol fugg, hogy mire szeretned hasznalni az Ansiblet.
Mivel az Ansible konfiguracio menedzsment es ad-hoc feladatok vegrehajtasat vegzo tool,
ezert az eredeti alapkerdesedet, hogy mit, milyen userrel kell vegrehajtani nem az Ansible fogja megoldani.
Az Ansible abban fog Teged tamogatni, hogy az altalad elore megalmodott es implementalt sudo jogosultsagokat
kepes leszel hasznalni az Ansible playbookjaidban.
Amennyiben a sudo jogosultsagok/szabalyok letrehozasat is Ansible segitsegevel szeretned elvegezni, akkor
meg kell nezni, hogy mi az a minimalis jogosultsag keszlet, illetve beallitas, ami ahhoz kell, hogy ezt
vegre tud hajtani.
Egy szerver szuletesenek/telepitesenek pillanata alkalmas arra, hogy megteremtsuk a lehetoseget annak, hogy
kozponti menedzsment (kozponti yum tarolobol telepiteni, kozponti logszerverbe logoljon, kozponti monitorozasba keruljon)
ala lehessen vonni.
> - Ha csak megadott accountokkal lehet csatlakozni.
Bocs, itt nem jol fejeztem ki magam, illetve ez az elotte levo ponthoz kapcsolodott szorosan.
Ha peldaul SFTP-t szolgaltatsz, akkor kell adnod hozzaferest az SSHhoz, de nem szukseges teljes erteku SHELL-t adnod (/sbin/nologin vagy valami korlatozott SHELL ha pl.: sftp es scp-t szolgaltatsz).
Ezek alapjan az adminisztrator/menedzsment accountokat IP alapjan, vagy csoport tagsag alapjan is kulon tudod kezelni az sshd konfigjaban.
> Egyelore ott tartunk, hogy a fentivel a direkt root loginhoz kepest elobbre van-e a user.
Mindenkeppen, mert alapvetoen nem szukseges hogy rootkent kozlekedjen ki-be a rendszerben.
A root szintu jogokat akkor vesszuk elo, amikor szukseges.
Az adott feladat elvegzesehez szukseges minimalis jogosultsag donti el, hogy milyen feladatot milyen userrel,
vagy annak a usernek a jogosultsagi szintjevel megegyezo jogkorrel vegezzuk el. Illetve van olyan, hogy nem
eleg maga a jogosultsag szintje, szukseg van meg kornyezeti beallitasok egyezosegere is.
- A hozzászóláshoz be kell jelentkezni
Ok, a lényeg tehát röviden annyi, hogy a managelt linuxokon kell egy tech user, aminek jelszó nélkül full access-t kell adni a sudoers-ben és amihez a manager szerver kulcsos ssh autentikációval kapcsolódik.
- A hozzászóláshoz be kell jelentkezni
Ha nagyon leegyszerusited, akkor igen.
Ahogy korabban mondtam, minden attol fugg, hogy mire szeretned hasznalni az Ansiblet, illtve hogyan szeretned megoldani a jelszavak/kulcsok menedzseleset (teriteset,cserejet).
- A hozzászóláshoz be kell jelentkezni
Egyszerusitem es atfogalmazom a problmeat. Az, hogy root user nem lephet be a szerverre, elsosorban nem a biztonsag noveleseert van, hanem az auditalhatosag noveleseert. Maskepp fogalmazva, lehet, hogy az adminoknak amugy full-access no-password joguk van a sudoban, de a belepesuk teljesen perszonalizaltan van logolva, emiatt ha valahol karosodas eri a rendszert, visszakovethetove valik, hogy a megadott idointervallumban ki es mikor lepett be a rendszerbe, emiatt a felelos megtalalasa biztosabban megtortenik. (Nyilvan ennek ki nem mondott feltetele az, hogy az audit logok replikalva legyenek egy fuggetlen tarolorendszerben is)
Ennek egy mellekhatasa, benefitje, hogy amugy az internetrol erkezo tamadasokat is nagyban csokkenti az a teny, hogy a root account AMUGY nem hozzaferheto egyszeru loginnel, mert mar egy sokkal korabbi ponton elszall az egesz a francba.
Egyetlen esetben tartom indokoltnak a root hozzaferes (kizarolag kulcs alapu) engedelyezeset: ha rsync alapu push menteseket vegzunk (rsnapshot, rdiff-backup, duplicity, you name it), de itt megfontolas targyava kell tenni, hogy ez esetben ez egy alternativ porton futo, erre dedikalt SSH szerverre tortenjen.
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni