ANSIBLE
Dicas ansible
/etc/ansible/hosts:
Arquivo onde serão configurados os ip/hosts clients, podendo ser cadastrados por hosts individual ou por grupos de hosts
EXEMPLO:
Dentro do arquivo hosts, podemos utilizar as opções:
ansible_connection=local - forma de conexão será local
ansible_python_interpreter=python - qual a versão do python que será utilizada
gather_facts=false = não busca os facts do servidor
Executando comandos via ad-hoc (via terminal)
Exemplos:
ansible -i /etc/ansible/hosts <all ou nome/ip do host> -m ping
ansible -i /etc/ansible/hosts <all ou nome/ip do host> -m yum -a "name=wget state=present"
caso necessite executar como root:
ansible -i /etc/ansible/hosts <all ou nome/ip do host> -m yum -a "name=wget state=present" -b
ansible -i /etc/ansible/hosts <all ou nome/ip do host> -m copy -a "src=<diretório/arquivo de origem> dest=<diretório_destino>"
sendo que:
-i: invetário: onde stão cadastros os hosts (clients)
-m: modulos: Opção para executar módulos
-a: argumentos: São os argumentos que serão executados pelo módulo
-b: become: utilizado para executar com "sudo"
Lista de módulos = https://docs.ansible.com/ansible/2.8/modules/list_of_all_modules.html
Lista todas as informações(FACTs) do server = ansible -i /etc/ansible/hosts <all ou nome/ip do host> -m setup
Passando ambiente que esta no arquivo "hosts" por variável: Exemplo (localhost)
ansible-playbook -i hosts tasks/install_prometheus.yml --extra-vars "ENV=localhost"
EXEMPLO PLAYBOY
---
- hosts: <host/grupo de hosts/all>
become: yes ## se necessário executar com sudo
tasks:
- name: Instalando o httpd
yum:
name: httpd
state: latest
update_cache: yes
- name: habilitando o httpd
service:
name: httpd
enabled: yes
- name: start httpd
service:
name: httpd
state: started
- name: copiando html
copy:
src: /root/centos7/index.html
dest: /var/www/html/index.html
handlers: ### Se necessário, restart do httpd toda vez que executar o playbook
- name: restartando o httpd
service:
name: httpd
state: restarted
Comentários
Postar um comentário