Ansible – Rodar um Grupo de seu Inventário

Olá Pessoal,

   Detalhando um pouco mais sobre nossa estrutura do Ansible, gostaria de trazer hoje algumas facilidades que podemos executar através de um recurso chamado ” Ad-Hoc commands “, onde caracteriza que podemos passar variáveis, limitar host, executar module, etc, através de nossa própria execução do playbook.

   Neste exemplo, o que vou trazer de dica é que, a partir do momento que temos um lista grande hosts ( inventário ) em algum determinado momento acredito que, não queremos obter as informações de todos que estão presentes nesta lista, por isso podemos trazer limitações de quais hosts iremos executar nossas task. Como podem observar abaixo, fiz alteração em nosso arquivo de ( hosts ) adicionando mais equipamentos e trazendo grupos distintos de equipamentos ( routers e switches ). Para maiores detalhes dos comandos ad-hoc veja no site da documentação.

   Vale lembrar que, em nossa simulação até o momento não temos esses equipamentos adicionais, foi mais pela questão demonstrar sobre quais os grupos, equipamentos estamos trazendo nesse post.

[routers]
R1 ansible_host=192.168.0.19
R33 ansible_host=192.168.0.21

[switches]
SW1 ansible_host=192.168.0.20

   Devido a termos as segmentações de equipamentos fiz alteração em nosso arquivo abaixo, chamando na função ” hosts ” ambos os grupos, mas isso não é um ítem obrigatório, pois iremos chamar nossas funções via parâmetro na execução de nossa playbook.

---
- name: Acesso remoto aos equipamentos
  hosts: routers, switches
  gather_facts: no
  connection: local

  tasks:
  - name: OBTAIN LOGIN CREDENTIALS
    include_vars: secret.yaml

  - name: Define access
    set_fact:
      provider:
        host: "{{ ansible_host }}"
        username: "{{ creds['username'] }}"
        password: "{{ creds['password'] }}"
        auth_pass: "{{ creds['auth_pass'] }}"

  - name: Obtain commands
    include: commands_variance.yaml

   Após essa alteração vamos executar nosso playbook, porém iremos adicionar um comando adicional ( –limit “routers” ), que por sua vez irá executar nossas tarefas em todos os routers definidos anteriormente. Segue em detalhe em nosso quadro azul.

   Após essa menção detalho que estamos agora chamando nosso próximo grupo.

   Logo abaixo faço uma pequena alteração, chamando agora especificamente um hosts que está dentro de um grupo de equipamentos, fazendo com que eu possa executar as tasks sem executar as tarefas em qualquer outro equipamentos que esteja em nossa lista de inventário.

   Espero que vocês tenham gostado.

Abs,
Rodrigo

0
0

Link permanente para este artigo: https://ciscoredes.com.br/2017/08/21/ansible-rodar-um-grupo-de-seu-inventario/

Deixe um comentário

Seu e-mail não será publicado.

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Translate