DevSecOpsARTIGO

Conheça a nova ferramenta queridinha do pessoal de DevOps: Ansible

Hoje vamos falar sobre uma ferramenta que cada vez mais quem trabalha com Docker acaba utilizando, que é o Ansible.

Olá, pessoal!

Hoje vamos falar sobre uma ferramenta que cada vez mais quem trabalha com DockerDocker46 conteúdosE o Docker Swarm? Contextos e motivadores diáriosDevSecOps · ago 2024Automatizando o ambiente de desenvolvimento e testes com DockerDevSecOps · mai 2019MySQL + Adminer + Docker Compose: montando rapidamente um ambiente para usoData · abr 2019Ver tudo em DevSecOps acaba utilizando, que é o Ansible. À primeira vista, muitas pessoas acham que ambas ferramentas fazem a mesma coisa, apresentando uma solução para gerenciamento de configurações através de meios diferentes. Na realidade, a união das duas ferramentas torna o ambiente de implantações de softwares limpo, confiável e rápido.

Ansible

É uma ferramenta de automatização de tarefas semelhante a Puppet e Chef, porém muito mais poderosa e a queridinha do pessoal de DevOps hoje. Com ela é possível fazer o deploy de aplicações, provisionar servidores, automatizar tarefas, entre outras funções.

O Ansible trabalha com arquivos YAML, o principal arquivo de configuração é chamado de PLAYBOOK, onde você coloca todas as tarefas que serão executadas “yum”, ”mkdir”, ”useradd” e no arquivo .ini você adiciona os servidores onde o Ansible irá executar esse PLAYBOOK. Cada um deles possui roles, que são as informações de provisionamento. Após definir as roles, você definirá em quais hosts essas roles serão executadas.

Dentro das roles existem as tasks, handlers, variaveis e templates:

  • Tasks: Tarefas de provisionamento que serão executadas;
  • Handlers: Tarefas para manipular serviços e arquivos;
  • Templates: Arquivos para serem transformados em configurações dentro das máquinas;
  • Variaveis: Valores que são definidos para serem usados dentro das tasks, handlers e templates.

O Ansible é uma ferramenta muito mais simples que seus concorrentes citados anteriormente, já que ele não precisa da instalação de agents nos servidores no qual ele irá executar.

É possível utilizar Docker e Ansible em conjuntos para resolver duas situações: omplantação de containers e criação de imagens.

Na implantação de containers é possível fazer toda a parte de orquestração, configuração e provisionamento com containers, sem precisar fazer a instalação de agents dentro dos containers

Já na criação de imagens:

Exemplo de Playbook:

# Mysql service name for drupal application
mysqlservice: mysqld

# Mysql port for drupal application
mysql_port: 3306

# Database name for the drupal application
dbname: databasename

# Mysql Username for drupal application
dbuser: root

Exemplo de configuração do arquivo do Ansible:

[defaults]
inventory = /etc/ansible/inventory
host_key_checking = False
priva_key_file = ~/.sh/id_rsa
callback_plugins   = /opt/ansible-plugins/callbacks
connection_plugins = /opt/ansible-plugins/connections

Então, pessoal, hoje fizemos apenas uma pequena introdução ao Ansible. Em nossos próximos artigos vamos trazer algo como Jenkins, Travis e também faremos um grande artigo mostrando como podemos criar um ambiente com Docker, Jenkins e Ansible.

Obrigado!

Veja o artigo usando como referência clicando neste link.

Trabalha na Umbler, uma Startup com foco em Plataforma como Serviço (PaaS), é especialista em Cloud Computing e Conteinerização, desenvolve todo dia uma nova maneira de resolver problemas e criar coisas novas. É autor também no site Mundo Docker (www.mundodocker.com.br)

Ver perfil