sysadmin:ansible
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
sysadmin:ansible [2015/01/06 12:08] – kobe | sysadmin:ansible [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Ansible Roles ====== | ||
- | Il codice relativo ad Ansible e' suddiviso in roles (una sorta di moduli, pacchetti). | ||
- | |||
- | //A role is just an organizational container that you can apply to one or multiple hosts in any configuration.// | ||
- | |||
- | Un role puo' avere come dipendenza un altro o piu' roles. | ||
- | //Ansible Galaxy// e' una sorta di gestore pacchetti dei roles e s' | ||
- | |||
- | ===== Role per l' | ||
- | |||
- | Qui abbiamo 3-4 role di base (che nel tempo sono leggermente aumentati) finalizzati a tenere su un' | ||
- | |||
- | Questi role differiscono principalmente per: | ||
- | * server su cui agiscono | ||
- | * frequenza con cui vengono rieseguiti | ||
- | |||
- | ==== 0. Master ==== | ||
- | |||
- | * Target: master | ||
- | * Obiettivo: si assicura che e' installato/ | ||
- | * Tasks: | ||
- | * installazione di Ansible e Cron | ||
- | * configurazione di Ansible (symlink a '' | ||
- | * configurazione [[ssh|client SSH]] (symlink a '' | ||
- | * cronizzazione di tutti i role di Ansible, alta e bassa priorita' | ||
- | * Cron: ogni 30 minuti? | ||
- | |||
- | Nota: una volta lanciato questo dal portatile non bisogna fare piu' niente, si attiva tutto da solo | ||
- | |||
- | ==== 1. Core_high ==== | ||
- | |||
- | * Target: all | ||
- | * Obiettivo: si assicura che il server SSH, i demoni e processi essenziali* e le risorse principali sul server siano OK, in caso contrario invia una mail o un messaggio su jabber | ||
- | * Cron: ogni 5 minuti? | ||
- | |||
- | *In caso di interventi manuali, sara' comunque possibile creare un file di lock per evitare il controllo di certi demoni/ | ||
- | |||
- | '' | ||
- | |||
- | ==== 2. Test ==== | ||
- | |||
- | * Target: 1-2 server | ||
- | * Obiettivo: si assicura che tutti gli URL ritornino 200, in caso contrario invia una mail o un messaggio su jabber | ||
- | * Cron: 5 minuti? | ||
- | |||
- | Nota: non puo' essere unito a '' | ||
- | |||
- | ==== 3+. Tutti gli altri roles ==== | ||
- | |||
- | * Target: all (dipende da quali app/ | ||
- | * Obiettivi: | ||
- | * template '' | ||
- | * backup/ | ||
- | * git rebase master dal branch prod di 1ring | ||
- | * installazione/ | ||
- | * app della SPES (rilettore..) | ||
- | * tutti gli altri task a priorita' | ||
- | * Cron: 1 volta al giorno | ||
- | |||
- | ===== Role per i servizi ===== | ||
- | |||
- | Ogni servizio (database, server smtp, web server) ha un role che installa/ | ||
- | |||
- | ===== WebApp role ===== | ||
- | |||
- | Il role '' | ||
- | |||
- | ==== Nginx (web server) ==== | ||
- | |||
- | Comunica con l' | ||
- | |||
- | protocollo di comunicazione in '' | ||
- | |||
- | ==== uWSGI (application server) ==== | ||
- | |||
- | Da non confondersi con il quasi omonimo protocollo, e' il cuore del deploy ed e' colui che si occupa effettivamente di lanciare gli interpreti e servire le richieste. | ||
- | |||
- | * Ogni singolo worker puo' avere piu' thread (noi per ora ne abbiamo solo uno) per aumentare la reqs/s a parita' | ||
- | * Ogni singolo worker viene lanciato con tutta l' | ||
- | |||
- | uWSGI attualmente supporta Python, Ruby, PHP, Perl... purtroppo il supporto per NodeJS/V8 non e' ancora del tutto pronto. | ||
- | |||
- | Alternative (su cui siamo rimasti scoperti da uWSGI): | ||
- | * [[https:// | ||
- | ==== Database ==== | ||
- | |||
- | L' | ||
- | |||
- | * relational: | ||
- | * documental: | ||
- | * key-value: | ||
- | * time-series: | ||
- | ==== Server di posta ==== | ||
- | |||
- | Server SMTP, IMAP (TODO) | ||
- | ==== Cache ==== | ||
- | |||
- | Configurazioni piu' avanzate prevedono l'uso di sistemi di cache quali: | ||
- | * Varnish (in genere si mette davanti a Nginx)) | ||
- | * Nginx, cache base | ||
- | * Redis | ||
- | * Memcached | ||
- | * [[http:// |
sysadmin/ansible.1420546132.txt.gz · Last modified: 2015/01/06 12:08 by kobe