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

  become_user: <user> ### usuário que executará via 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

Postagens mais visitadas