User Tools

Site Tools


ansible

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
ansible [2014/10/30 00:16] kobeansible [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).  Un role puo' gestire la configurazione di un db, piuttosto che di un'applicazione web (come Gasista Felice).  O delle funzionalita' di base di un server (es: SSH). 
- 
-//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'interfaccia con un [[https://galaxy.ansible.com/|repository]] dove poter scaricare dei role gia' pronti. 
-===== Roles ===== 
- 
-L'idea e' di realizzare: 
-  * 3-4 role di base 
-  * per ogni applicazione: 
-    * un role (es: ''django'') 
-    * un altro role che testa la buona riuscita del primo (es: ''django_test'') 
- 
-I role di base differiscono principalmente per: 
-  * server su cui agiscono 
-  * frequenza con cui vengono rieseguiti 
-==== 0. Master ==== 
- 
-  * Target: master  (la prima volta viene lanciato dal proprio portatile o da un altro server con Ansible, poi sempre dal master stesso) 
-  * Obiettivo: si assicura che e' installato/aggiornato un ambiente ansible operativo 
-  * Tasks: 
-    * installazione di Ansible e Cron 
-    * configurazione di Ansible (symlink a ''~/.ansible.cfg'' o env_var ''ANSIBLE_CONFIG'') 
-    * configurazione [[SSH config|client SSH]] (symlink a ''~/.ssh/config'') 
-    * cronizzazione di tutti i role di Ansible, alta e bassa priorita' (compreso questo) 
-  * 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/processi, da cancellare poi alla fine dell'operazione. 
- 
-''core_high'' sta ad indicare i task ad alta priorita' Si differenzia da un nuovo role chiamato ''core_low'' che invece raccoglie quelli a piu' bassa priorita' (es: da eseguire una volta al giorno invece che ogni X minuti). 
-==== 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 ''1'' perche' in ''1'' tutti i server vengono controllati, mentre nel ''2'' a partire da 1-2 server vengono fatte le richieste a tutti gli URL -> quindi gli URL sono slegati dai server 
- 
-==== 3+. Tutti gli altri roles ==== 
- 
-  * Target: all (dipende da quali app/funzionalita' sono presenti nei vari server) 
-  * Obiettivi: 
-    * template ''bashrc/vimrc'' per tutti i server (compreso master) 
-    * backup/logrotate/rsync 
-    * git rebase master dal branch prod di 1ring 
-    * installazione/configurazione (o verifica di essi) delle app (gasista felice, etc) 
-    * app della SPES (rilettore..) 
-    * tutti gli altri task a priorita' minore 
-  * Cron: 1 volta al giorno 
ansible.1414628169.txt.gz · Last modified: 2014/10/30 00:16 by kobe