Neste post será apresentado como configurar playbooks para automação de tarefas e sendo assim também manter o versionamento do ambiente .
Os Playbooks utilizam YAML que é um formato de codificação legíveis por humanos em liguagens como XML, C , Python e outras mais.
1) Ambiente :
10.0.0.30 ansible
10.0.0.31 server-01
10.0.0.32 server-02
O ambiente será o mesmo do ambiente de instalação .
http://fajlinux.com.br/devops/ansible-install/
2) Requisitos :
Configure o inventary com os servidores desejados, sem nosso exemplo o grupo fajlinux terá o server-01 e server-02.
/etc/ansible/hosts
Teste a conectividade com os hosts com o comando “ansible -v -m ping fajlinux”
3) Criando o primeiro job:
Neste exemplo será executado um yum update e a ultima versão do Apache nos servidores de grupo fajlinux.
vim job.yaml
- name: "Job update FAJLINUX" hosts: fajlinux tasks: - name: "update" shell: yum update -y
Execute o arquivo com o comando ansible-playbooks
ansible-playbook /opt/job.yaml
Após executarmos o playbook job.yaml podemos ver que o python se encontra executando o yum nos servidores do grupo Fajlinux.
4) Instando uma versão padrão de um pacote :
Em nosso teste criaremos um job para distribuir o Apache pelo o grupo Fajlinux.
vim /opt/apache.yaml
- hosts: fajlinux tasks: - name: Installing Latest version of Apache yum: pkg=httpd state=latest - name: Enable it on System Boot service: name=httpd enabled=yes - name: start apache service: name=httpd state=started - name: Create index file shell: echo "Ansible Apache `hostname`" >> /var/www/html/index.html
Executando o apache.yaml
ansible-playbook /opt/apache.yaml
5) Testes finais validando o Apache :
Para validar a instalação via Ansible foi chamado o Apache do server-02
Executando o systemctl status httpd para ver o serviço no ar
Referências
http://docs.ansible.com/ansible/yum_module.html
http://tutoriaisgnulinux.com/?p=15170