Ansible
/etc/ansible/hosts
[grupo]
hostname1
hostname2:2222
hostname3
some_host ansible_port=2222 ansible_user=manager
aws_host ansible_ssh_private_key_file=/home/example/.ssh/aws.pem
jumper ansible_port=5555 ansible_host=192.0.2.50
# ansible server_or_group -m module_name -a arguments
# ansible all -m ping
# ansible all -m shell -a "df -lh"
Você pode definir variáveis de grupo em /etc/ansible/group_vars/<nome_grupo>
ou diretamente no arquivo hosts.
[grupo:vars]
ntp_server=ntp.atlanta.example.com
proxy=proxy.atlanta.example.com
ou
---
ntp_server: acme.example.org
database_server: storage.example.org
Você pode criar subgrupos em /etc/ansible/group_vars/<nome_grupo>
.
[web]
hostA
[db]
hostB
[ubuntu:children]
web
Mais informações em http://docs.ansible.com/ansible/intro_inventory.html.
Você pode instalar o Ansible usando os seguintes comandos.
1 yum search ansible
2 yum install centos-release-ansible
3 yum update -y
4 yum install -y epel-release
5 yum install -y ansible
Você pode adicionar hosts em /etc/ansible/hosts
.
#hosts
www1 ansible_host=172.20.0.25
mysql ansible_host=172.20.0.26
[webservers]
www1
[mysqlserver]
mysql
Você pode testar o Ansible usando os seguintes comandos.
$ ansible -i hosts -m ping www1 / webservers
$ ansible -i hosts all -m ping -u root -k -v
Você pode criar um arquivo YAML para playbook em /etc/ansible/playbooks/<nome_playbook>.yml
.
---
- name: Instalar httpd
hosts: webservers
become: yes
tasks:
- name: Instalar httpd
yum: name=httpd state=latest
$ ansible-playbook -i hosts install-httpd.yml webservers
Referências:
Você pode usar o Ansible no Windows usando os seguintes comandos.
[sec]
143.106.73.151 ansible_connection=ssh ansible_shell_type=cmd ansible_python_interpreter=C:\Python27 ansible_user=administrador
Testando:
ansible sec -m win_ping --extra-vars ansible_ssh_pass='senha1234'
ansible sec -m win_shell -a 'date' --extra-vars ansible_ssh_pass='senha1234'