FALE COM UM ESPECIALISTA

4004-2122

Atendimento: 9:00h às 18:00h, 2ª a 6ª

Ansible no CentOS 7+

A partir deste post, irei escrever uma série de artigos com dicas de automação, iniciando pela ferramenta Ansible, que é o padrão atual da RedHat para automatizar processos. A idéia é cobrir todo o terreno, desde a instalação de pacotes, até o deploy de serviços complexos. O Ansible não é muito difícil de se dominar, porém, as versões mais recentes possuem um catálogo de serviços muito extenso, o que torna as coisas um pouco complexas. Também temos algum problema de compatibilidade em relação as versões mais antigas (2.6 para 2.7+), mas nada que o manual não resolva.

Tutorial Rápido e Sujo 🙂

Para este tutorial ficar mais interessante, você vai precisar de 4 VMs. Então, já inicia aí o seu Vagrant, KVM, VirtualBox, VMWare Player, etc e faça a instalação do CentOS 7+ Minimal. O CentOS 8 também funcionará. Porém, como ainda não tem muita gente utilizando, eu preferi escrever esta dica baseada na versão 7+ mesmo.

Topologia

Para que esse tutorial tenha alguma utilidade prática, usaremos uma estrutura muito comum do mercado, que consiste em um Balanceador de Carga, um Web Server e um Banco de Dados. A topologia consiste dos seguintes componentes:

  • Web Server: NGINX
  • Load Balancer: HAProxy
  • Database: MySQL

O Ansible Controller é o host a partir de qual todos os comandos serão executados.

Go Go Go !

Vamos ser diretos nessa parte, e deixar as explicações que interessam pra depois. Os comandos a seguir deverão ser executados no Controller. Para facilitar o entendimento, sugiro que nomeie suas VMs e seus respectivos hostnames desta forma:

  • controller
  • lb
  • web
  • db

Não esqueça de tomar nota dos endereços IP de seus hosts, pois precisaremos deles posteriormente. Chega de papo. Mão na massa!

Instalar o Ansible:

# yum -y install epel-release
# yum -y install ansible

Configurar os Ansible Hosts:

Criar o arquivo “/etc/ansible/hosts” com o conteúdo (cuidado com os IPs!):

[lab]
lb ansible_ssh_host=192.168.13.82
web ansible_ssh_host=192.168.13.83
db ansible_ssh_host=192.168.13.84

Amanhã eu continuo este post. Se ficou curioso, volte para aprender mais! 😎

Comments are closed.