Voltamos com a 2º parte do Artigo primeiros passos com o Ansible, hoje iremos criar um Playbook e verificar seu funcionamento.
Playbook:
Como descrito no artigo anterior podemos dizer que os Playbooks são um conjunto de Tasks escritas de maneira ordenada para serem executadas.
Do que é formado?
Tasks:
As Tasks são formadas pelos modules, elas possuem as definições do que será instalado, alterado ou removido ou qual arquivo será copiado para os servidores alvos do Ansible, são elas que realizam o trabalho da automação.
Modules:
Sendo as Tasks onde são executada as tarefas os Modules são efetivamente quem realiza o trabalho. Os modules são responsáveis pela instalação de pacotes, copia de arquivos, adição de repositórios e uma infinidade de outros comandos.
Segue o link para consulta dos modules disponíveis para o Ansible.
Criando o Playbook:
Vamos criar uma pasta chamada playbooks no diretório do Ansible:
mkdir /etc/ansible/playbooks
Acessar a pasta e criar um arquivo chamado playbook.yml:
cd /etc/ansible/playbooks/
touch playbook.yml
Nosso Playbook irá realizar as seguintes tarefas no servidor Zabbix:
- Desabilitar o Selinux
- Desabilitar o Firewall
- Instalar o repositório EPEL
- Instalar o pacote HTOP
Utilizaremos os Modules selinux, systemd e yum. Abaixo iremos mostrar a estrutura do module systemd:
- name: Stop Firewalld
systemd:
name: firewalld
state: stopped
Onde:
- name: Nome dado a Task executada.
- systemd: Qual o module será executado.
- state: Parâmetro de configuração do module.
O Module systemd têm diversos parâmetros, segue link para consulta: Module Systemd.
Iremos montar nosso Playbook, edite o arquivo playbook.yml:
vim playbook.yml
Adicionar o seguinte conteúdo:
---
- hosts: 10.0.0.240
become: true
tasks:
- name: Desabilitar Selinux
selinux:
state: disabled
- name: Parar Servico Firewalld
systemd:
name: firewalld
state: stopped
- name: Desabilitar Systemclt Firewalld
systemd:
name: firewalld
enabled: no
- name: Instalar Biblioteca Epel
yum:
name: epel-release
state: latest
- name: Instalar pacote Htop
yum:
name: htop
state: latest
Para maiores informações sobre os modules utilizados seguem os links: Module Yum e Module Selinux.
Executar o comando abaixo e verificar a saída:
ansible-playbook -i /etc/ansible/hosts playbook.yml
O Playbook foi executado com sucesso e todas as tarefas foram realizadas com sucesso.
No próximo artigo, iremos criar uma role chamada Zabbix server e criar um Playbook para instalação do Zabbix.