Ansible: Instalando e Configurando o Ansible: Difference between revisions
Line 62: | Line 62: | ||
# como usuário | # como usuário | ||
$ ansible all -m ping -u usuario | |||
$ ansible all -m ping -u usuario | |||
# as usuário, sudoing to root | # as usuário, sudoing to root | ||
$ ansible all -m ping -u usuario --sudo | |||
$ ansible all -m ping -u usuario --sudo | |||
Now run a live command on all of your nodes: | Now run a live command on all of your nodes: | ||
$ ansible all -a "/bin/echo hello" | |||
$ ansible all -a "/bin/echo hello" | |||
= Ver também = | = Ver também = |
Revision as of 01:53, 9 August 2017
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
- como usuário
$ ansible all -m ping -u usuario
- 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"