Jak aktualizujete servery?

Miloš

Jak aktualizujete servery?
« kdy: 21. 03. 2016, 14:20:22 »
Zdravím, nějak mi přibývá serverů a přemýšlím, jak je efektivně aktualizovat. Ručně to jde, ale je to otrava. Jak to řešíte vy? Cronem? Nebo nějakým pokročilým systémem? Díky za tipy.


Jenda

Re:Jak aktualizujete servery?
« Odpověď #1 kdy: 21. 03. 2016, 15:44:38 »
Mám skript, který se na všechny naSSHčkuje, zkontroluje stav RAIDu a spustí apt-get update && apt-get upgrade (případně yum update). Skript spouštím podle nálady když mám čas, případně když do debian-security přijde oznámení o nějaké bezpečnostní chybě, která se mě týká.

Lol Phirae

Re:Jak aktualizujete servery?
« Odpověď #2 kdy: 21. 03. 2016, 15:52:17 »
Jak to řešíte vy? Cronem?

No, to snad může dělat jedině šílenec, sebevrah nebo nějaký domácí matlal.

Re:Jak aktualizujete servery?
« Odpověď #3 kdy: 21. 03. 2016, 15:54:07 »
Pokud chceš fakt jenom spustit příkaz na všech serverech, tak asi nejjednodušší možnost je Paramiko.

Pokud do toho investuješ o trochu víc úsilí, můžeš nějakým nástrojem server nejen updatovat, ale i kompletně nastavit (příp. nastavení ověřit, což se hodí): Ansible, Salt-ssh, Salt, Puppet, Cfengine (v tomhle pořadí subjektivně vnímám jejich složitost).

Pokud to myslíš vážně, doporučoval bych salt-ssh.

Re:Jak aktualizujete servery?
« Odpověď #4 kdy: 21. 03. 2016, 16:00:21 »
tak asi nejjednodušší možnost je Paramiko.
A jestli si to nechceš psát sám, tak http://www.root.cz/clanky/parallel-ssh-jeden-prikaz-vladne-vsem/ (podívej se i do komentářů - udělat totéž čistě pomocí shellu není větší problém a mluví se tam o tom).


Re:Jak aktualizujete servery?
« Odpověď #5 kdy: 21. 03. 2016, 16:09:34 »
Pokud to myslíš vážně, doporučoval bych salt-ssh.

salt-ssh '*' -r 'ifconfig'

Mno. A toto má být projekt na správu serverů v roce 2016? Tomu se fakt těžko věří. (Ale třeba to chtějí pustit na *BSD.)

Re:Jak aktualizujete servery?
« Odpověď #6 kdy: 21. 03. 2016, 16:10:45 »
Mno. A toto má být projekt na správu serverů v roce 2016? Tomu se fakt těžko věří. (Ale třeba to chtějí pustit na *BSD.)
Tvoje problémy bych chtěl mít :))

pavlix

  • ****
  • 253
    • Zobrazit profil
Re:Jak aktualizujete servery?
« Odpověď #7 kdy: 21. 03. 2016, 16:20:28 »
A toto má být projekt na správu serverů v roce 2016?

Jako by rok 2016 měl v oblasti IT něčím zvlášť vynikat.

andy

Re:Jak aktualizujete servery?
« Odpověď #8 kdy: 21. 03. 2016, 16:56:46 »
Cronom? Aktualizacia ma byt sucastou release (mal by si mat k tomu ticket). Pri najmensom by si mal otestovat, ze nova verzia funguje a az potom ju instalovat.

JSH

Re:Jak aktualizujete servery?
« Odpověď #9 kdy: 22. 03. 2016, 16:53:20 »
Pokud to myslíš vážně, doporučoval bych salt-ssh.

salt-ssh '*' -r 'ifconfig'

Mno. A toto má být projekt na správu serverů v roce 2016? Tomu se fakt těžko věří. (Ale třeba to chtějí pustit na *BSD.)
Šlo by trochu rozvést, co je na tomhle příkazu špatně?

samalama

Re:Jak aktualizujete servery?
« Odpověď #10 kdy: 22. 03. 2016, 18:22:49 »
Pokud to myslíš vážně, doporučoval bych salt-ssh.

salt-ssh '*' -r 'ifconfig'

Mno. A toto má být projekt na správu serverů v roce 2016? Tomu se fakt těžko věří. (Ale třeba to chtějí pustit na *BSD.)
Šlo by trochu rozvést, co je na tomhle příkazu špatně?

# ip addr add 172.16.1.3/24 dev eth0
# ip addr show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 74:d4:35:0b:18:06 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.3/24 brd 10.0.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet 172.16.1.3/24 scope global eth0
       valid_lft forever preferred_lft forever
# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 74:d4:35:0b:18:06 
          inet addr:10.0.0.3  Bcast:10.0.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2231961 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1280839 errors:0 dropped:2 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3044378515 (2.8 GiB)  TX bytes:122330244 (116.6 MiB)


j

Re:Jak aktualizujete servery?
« Odpověď #11 kdy: 22. 03. 2016, 18:31:40 »
Cronom? Aktualizacia ma byt sucastou release (mal by si mat k tomu ticket). Pri najmensom by si mal otestovat, ze nova verzia funguje a az potom ju instalovat.

Predevsim i potom musis overit, ze to dopadlo, a ze vse funguje. Jakejkoli automatismus je tak leda cesta do pekel horoucich.

Re:Jak aktualizujete servery?
« Odpověď #12 kdy: 22. 03. 2016, 21:01:57 »
Šlo by trochu rozvést, co je na tomhle příkazu špatně?
Nic, jenom je to možná trochu nevhodný příklad. Ta nevhodnost se Saltem jako takovým nijak nesouvisí.

Youda

Re:Jak aktualizujete servery?
« Odpověď #13 kdy: 23. 03. 2016, 22:05:25 »
Momentalni standard je Puppet v konfiguraci master/client.

Ostatne komercni a mastny (list price $10000 annually) RedHat Satellite 6 neni nic jineho nez zabalena kombinace 3 submodulu
- jakehosi SW zacinajiciho na K, ktery spravuje RHN subscriptions
- Foreman - to je graficke udelatko na tvorbu Kickstart instalaci - ucelem je nainstalovat na bare metal holy RHEL + konfiguraci repozitaru + Puppet client
- Puppet server - ten se postara o zbytek

Puppet je nastroj, ktery zajistuje (ensuruje) ze cilovy server bude v "pozadovanem stavu" - tj ze urcite packages budou nainstalovany, urcite naopak nesmi, urcite services pobezi a urcite konfiguraky budou vygenerovany z templates.

Puppet je na serveru spousten periodicky, postupne zkousi jednotlive spravovane Nody, jestli jsou v pozadovanem cilovem stavu, pokud ne, Puppet to premlaskne zpatky na pozadovany stav (nebo jenom nabonzuje v NOOP modu)

Puppet te odstinuje od implementacnich podrobnosti, ty reknes puppetovi, aby na nodu ensuroval package s urcitym nazvem a puppet uz sam vybere, jestli ma pouzit yum, apt nebo solarisi pkg. Kdyz nekdo hrabne do konfiguraku - dtto.

Kdyz uz s puppetem zacnes, je vhodne do nej presunout veskerou spravu a nody pak managovat uz jenom pres puppet. Je to na pocatku pracne, rozhodne se to ale vrati a pak uz to jenom setri cas. Navic pro bezny SW z beznych repozitaru puppet moduly uz existuji na PuppetForge, ty pak staci jenom stahnout a proste reusovat.



Vasek

Re:Jak aktualizujete servery?
« Odpověď #14 kdy: 25. 03. 2016, 11:26:31 »
Koukni na Pulp - http://www.pulpproject.org/ lze tim jednoduse "posouvat" kontrolovane zmeny, normalne se pouziva vic typu/stage toho sameho repozitare (unstable/stable + live), z live poustis security update (salt/ansible/jenkins/cron/...) ala 'yum update --security --disablerepo="*" --enablerepo="*-live"' ostatni pak postupne testujes a posouvas az do production stage. Pokud mas puppet/chef/... tak neni potreba resit ani napojeni na klientu na pulp (MQ) staci pouzit standardni yum prikazy a definovane repozitare.