Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Como o ansible faz para ligar hosts ao yml?

Como o ansible sabe que o host com ip x.x.x.x é para instalar o php por exemplo? E se tivesse mais ips dentro do inventário como ele sabe o que tem que serr instalado em cada um ip/maquina virtual?

5 respostas

Olá Rafael! Isso é determinado uma parte no arquivo de hosts e outra parte dentro do arquivo provisioning.yml. Veja que no arquivo hosts temos a seguinte configuração:

[wordpress]
172.17.177.40

Porém no arquivo provisioning.yml logo nas primeiras linhas temos:

- hosts: all

E nesse momento quando passamos o all como atributo de - hosts, isso quer dizer que a configuração deve ser aplicada a todos os hosts que estão presentes no arquivo hosts, porém poderíamos (e vai ser feito mais adiante no curso) a divisão e selecionar apenas uma máquina ou um grupo de máquinas virtuais para aplicar as configurações, isso é feito também no provisioning.yml com o seguinte código:

- hosts: wordpress

Dessa forma a configuração só será aplicada aos IPs que estão no grupo [wordpress].

Espero ter esclarecido sua dúvida!

respondeu sim. Tenho mais uma dúvida: a ordem que está nos hosts importa para o playbook? ou seja se eu coloquei como primeiro no host worspress eu tenho que instalar o wordpress no playbook ou no playbook eu poderia primeiro instalar o php ?

Rafael, a ordem que você coloca os IPs no arquivo hosts não influencia em nada, o que influencia é no playbook, se você informar primeiro o "wordpress" ele vai configurar primeiro a maquina virtual "wordpress".

Caso isso responda sua dúvida, por gentileza marca esse tópico como solucionado, outros colegas podem ter a mesma dúvida!

Se no playbook tem importância como fazer no caso se eu tiver duas maquinas na qual na primeira eu quero instalar php e mysql e na segunda eu quero instalar wordpress. Como é feito isso?

solução!

É o seguinte Rafael, isso vai ser abordado mais adiante no curso, posso lhe adiantar que funciona, veja o código do arquivo provisioning.yml que será construído durante o curso:

---
- hosts: database
  roles:
    - mysql

- hosts: wordpress
  roles:
    - wordpress

Veja que temos dois atributos - hosts, o primeiro recebe o nome "database" e o segundo recebe o nome "wordpress", então no arquivo hosts foi determinado esses dois grupos, um grupo de máquina database, serão configuradas com o MySQL e outro grupo de máquina que serão configuradas com o WordPress, tenha em mente que essas roles são as regras de instalação de cada grupo, mais não se prenda a isso no momento, porque isso vai ser abordado durante o curso. Continue com os estudos!