ansible
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
ansible [2014/07/01 18:03] – kobe | ansible [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Ansible ====== | ||
- | 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' | ||
- | ===== Roles ===== | ||
- | |||
- | Premesse: | ||
- | - sul mio portatile o su un altro server (non master) e' gia' pronto un ambiente Ansible funzionante (vedi piu' sotto) | ||
- | - sul server c' | ||
- | |||
- | L'idea e' di realizzare: | ||
- | * 3 role di base | ||
- | * role specifici per le varie app o funzionalita' | ||
- | |||
- | I role di base 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 config|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 ==== | ||
- | |||
- | * 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? | ||
- | |||
- | |||
- | ===== Installare Ansible (>= 1.6) ===== | ||
- | |||
- | Ovviamente e' disponibile la guida ufficiale per [[http:// | ||
- | |||
- | **Arch e derivate**: la versione nei repo e' costantemente aggiornata, si puo' installare da li': | ||
- | # pacman -S ansible | ||
- | |||
- | **Ubuntu (e derivate)**: | ||
- | |||
- | **Debian testing/ | ||
- | # apt install ansible | ||
- | |||
- | **Debian stable/ | ||
- | # echo 'deb http:// | ||
- | # apt-get update | ||
- | # apt-get -t wheezy-backports install ansible | ||
- | |||
- | **#TODO**: | ||
- | * ambiente testing vagrant/ | ||
- | * wiki per aggiunta server | ||
- | * aggiungere chiave pubblica da altro server | ||
- | * creare connessione e lanciare task | ||
- | * poi aggiungere in hosts.ini, creare host_vars/ | ||
- | * wiki workflow git | ||
- | * ssh config per sysadmins | ||
- | * server di backup (rsync + savelog di tutti i backup) | ||
- | * pagina wiki per l' | ||
- | * gestione chiavi ssh (inserimento e rimozione delle chiavi, ad esempio server ridondante che rimuove la chiave del server principale da tutti gli altri) | ||
- | |||
- | |||
- | ===== Note tecniche per l' | ||
- | |||
- | * '' |
ansible.1404237810.txt.gz · Last modified: 2014/10/28 11:28 (external edit)