Por: Adelmo da Silva – consultor de sistemas
No artigo Ansible na Prática #2, sobre a estrutura de um playbook, vimos o esqueleto dessa ferramenta fantástica do Ansible. Hoje, vamos avançar com os nossos playbook. Vamos criar um playbook que faça exactamente o que vimos no artigo anterior: copiar o arquivo de configuração do NTP e reiniciarmos este serviço. A cada dia aprimoramos mais as nossas habilidades nesta incrível ferramenta, o Ansible.
Playbook com os Módulos Copy e Shell
Diferente do ad-hoc, vamos colocar todo esse processo num único playbook, que será chamado de config-ntp.yaml. Vamos lá então.
O cliente alterou os servidores de NTP (Network Time Protocol), ou seja, o serviço de data/hora da rede. Foi solicitado a você que alterasse essa configuração em todos os servidores de webservers, que somam 10 servidores, utilizando o arquivo ntp.conf fornecido pelo cliente.
NTP.CONF
# Arquivo de configuração do NTP
## Servidores NTP para sincronização de tempo
server 0.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org
Este arquivo, no nosso exemplo, na pasta /home/root/configuracoes e, nele, estão as configurações dos novos servidores NTP da rede do nosso cliente. O nosso playbook irá copiar esse arquivo para os hosts (COPY) e reiniciar os serviços em cada um deles (SHELL):
—
– name: Atualização das Configurações do Serviço NTP
hosts: webservers
become: yes
gather_facts: no
tasks:
– name: #1 Copiando o arquivo ntp.conf
copy:
src: /home/root/configuracoes/ntp.conf
dest: /etc/ntp.conf
owner: root
group: root
mode: ‘0644’
Nesta primeira tarefa, o Ansible copia o arquivo para a pasta de destino e já define o dono da pasta (owner), do grupo (group) e as permissões do mesmo.
Na segunda parte do playbook, vamos mandar o Ansible reiniciar o serviço NTPD através do módulo SHELL:
– name: #2 Reiniciando o Serviço NTPD
shell: systemctl restart ntpd
Ao executar esse playbook, será exibido o seguinte resultado no Ansible:
PLAY [Atualização das Configurações do Serviço NTP] *******************************************************************
TASK [Copiando o arquivo ntp.conf] *********************************************************************
changed: [192.168.100.20]
changed: [192.168.100.21]
changed: [192.168.100.22]
changed: [192.168.100.23]
changed: [192.168.100.24]
changed: [192.168.100.25]
changed: [192.168.100.26]
changed: [192.168.100.27]
changed: [192.168.100.28]
changed: [192.168.100.29]
TASK [Reiniciando o Serviço NTPD] **********************************************************************
changed: [192.168.100.20]
changed: [192.168.100.21]
changed: [192.168.100.22]
changed: [192.168.100.23]
changed: [192.168.100.24]
changed: [192.168.100.25]
changed: [192.168.100.26]
changed: [192.168.100.27]
changed: [192.168.100.28]
changed: [192.168.100.29]
PLAY RECAP *****************************************************************************
192.168.100.20 : ok=2 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
192.168.100.21 : ok=2 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
192.168.100.22 : ok=2 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
192.168.100.23 : ok=2 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
192.168.100.24 : ok=2 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
192.168.100.25 : ok=2 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
192.168.100.26 : ok=2 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
192.168.100.27 : ok=2 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
192.168.100.28 : ok=2 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
192.168.100.29 : ok=2 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Viu só?! Feito!
Dez servidores reconfigurados em menos de 15 segundos. Agora, é só pegar aquele cafezinho e um biscoito e aproveitar!
Até o próximo artigo.:)