Qual è l'equivalente del modello di ruoli / profili di Puppet in Ansible?

2

Per prevenire il codice spaghetti in Puppet, applico il modello di ruoli / profili . Ora sto imparando Ansible e sono preoccupato che il codice degli spaghetti si verifichi come ai tempi in cui ho iniziato con Puppet. Quali modelli potrebbero essere applicati in Ansible per prevenire la duplicazione del codice e il codice spaghetti?

    
posta 030 13.07.2016 - 07:48
fonte

1 risposta

2

Ansible ha i concetti di ruoli e dipendenze che possono essere usati insieme per creare un modello ruoli / profili / componenti come si fa in Puppet. Potresti progettare il tuo ruolo come componente, come profilo o come ruolo. Probabilmente avresti bisogno di una struttura di convenzioni di denominazione per non confondermi sulla differenza tra loro. Se vuoi creare un ruolo di server web (modello di burattini) puoi avere 5 ruoli (ruoli ansibili), componente-apache, componente-mysql, profilo-database, profilo-webserver, ruolo-server web. I primi due saranno ruoli che installano e configurano un software generico apache / mysql (dovresti trovarlo su ansible-galaxy). I 2 profili aggiungeranno questi 2 componenti come dipendenze (in meta /) e specificheranno esattamente la tua implementazione tramite vars o task (dovrei supportare virtualhost? Il mio profilo mysql funzionerà come cluster?). Alla fine, crei l'ultimo ruolo (ansible) che funzionerà come un ruolo (modello di burattini). Aggiungerà come dipendenze i tuoi 2 profili (profilo-database, profilo-webserver).

Alla fine, sul tuo playbook, devi solo applicare il ruolo-server web ai nodi specificati.

    
risposta data 12.09.2016 - 15:17
fonte

Leggi altre domande sui tag