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?
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?
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?
É 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!