Criando o primeiro Playbook no Ansible

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.

Deixe um comentário