Ansible: Instalando e Configurando o Ansible

From Wiki

O Ansible é uma ferramenta de gestão de configuração que facilita o trabalho de gestão de vários máquinas/vms/containers.

O Ansible é desenvolvido em Python e utiliza o SSH para a comunicação dos hosts. Com essa condição o Ansible se caracteriza por ser agentless. Você pode ter o Ansible instalando em um notebook, sem a necessidade de um servidor instalado.

Os componentes do Ansible são:

  • Inventory: arquivo de inventário no qual serão declarados quais os nós ou hosts-alvos serão gerenciados pelo Ansible;
  • Playbooks: conjunto de tarefas escritas no formato YAML (chave:valor) que serão executadas no(s) host(s).
  • Modules: controlam os recursos (serviços, pacotes, arquivos etc) do(s) host(s) remoto(s);
  • Tasks: tarefas que serão executadas no(s) host(s);


Usando o Ansible

Instalando o Ansible

  • Yum (Redhat)
sudo yum install ansible
  • Apt (Ubuntu)
sudo apt install ansible
  • Python/Pip
pip install ansible
  • Mac OS
brew instal ansible

Conectando aos servidores

Configurando a autorização para acessar um servidor remoto via SSH

1. Na maquina de origem onde instalamos o ansible

ssh-keygen 

cat id_rsa.pub >> authorized_keys

chmod 600 authorized_keys

2. Maquina de destino

ssh usuario@servidor_destino "mkdir /home/usuario/.ssh"

ssh usuario@servidor_destino "chmod 700 /home/usuario/.ssh"
scp authorized_keys usuario@servidor_destino:/home/usuario/.ssh/.

3. Conectando na máquina

ssh usuario@servidor_destino


Testando

Ping -> Ansible will attempt to remote connect to the machines

  1. como usuário
$ ansible all -m ping -u usuario
  1. as usuário, sudoing to root
$ ansible all -m ping -u usuario --sudo

Now run a live command on all of your nodes:

$ ansible all -a "/bin/echo hello"

Ver também