Com o uso de módulos de pesquisa, podemos simplesmente extrair as informações que passam por domínios externos em Ansible. Sistemas de arquivos internos, data warehouses remotos ou serviços são apenas alguns exemplos desses domínios. Depois que as informações são coletadas desses fornecedores, as informações são processadas pelo módulo de pesquisa e depois recuperadas através do motor de modelos da Ansible. E isso permitirá acesso a esse modelo. O principal objetivo do plug -in Ansible Config Lookup é importar parâmetros ou modelos que incluam informações de domínios externos ou dispositivos remotos.
Trabalhando no plug -in de pesquisa em Ansible
A seguir, são apresentados os princípios de funcionamento do plug -in de pesquisa avançado na ferramenta Ansible:
Em contraste com as atividades locais que operam com um diretório especificado associado ao jogo ou papel implementado, as pesquisas são executadas com um diretório especificado fora da peça ou papel.
Você deve ter um sólido entendimento de Ansible, sua funcionalidade e suas instruções quando você vai utilizar o módulo de pesquisa em Ansible, porque essa é uma funcionalidade avançada.
As informações são processadas apenas remotamente. Assim, precisamos estar cientes de que ele deve ser transmitido para um parâmetro ou usado como um recurso de informação após o cálculo ou avaliação.
Existem várias abordagens diversas para permitir módulos personalizados, como colocá -los no módulo de pesquisa de domínio ao lado, colocando -o no caminho dos plugins de pesquisa e adicionando uma fonte de um diretório de pesquisa configurado no CFG.
Para coleta de informações ou geração de informações, podemos integrar módulos Ansible com filtros e experimentos.
A operação de consulta, que foi implementada em Ansible na versão 2.5, é usado para invocar módulos de pesquisa. O módulo de consulta sempre fornece uma variedade de valores, enquanto a pesquisa produz um conjunto de valores separados por vírgula (CSV). Para forçar uma pesquisa para gerar um valor, podemos utilizar especificamente o parâmetro WantList = True.
Pré -requisitos do plug -in Ansible Lookup
Antes de implementar o exemplo, precisamos que os seguintes critérios sejam cumpridos:
Deve haver um servidor de controle Ansible de Ansible Controller. Para construir uma conexão e utilizar o plug -in Ansible Config Lookup, precisaremos dos hosts remotos. E aqui estamos usando o host local como um host remoto de destino durante a implementação.
Vamos construir manuais, emitir comandos Ansible e observar os resultados em hosts distantes no dispositivo Ansible controlador.
Tentaremos usar cenários diferentes para examinar alguns dos plugins de pesquisa Ansible. A configuração do módulo de pesquisa nesses cenários tem como objetivo apenas demonstrar como utilizá -los.
Exemplo 01: Exibindo as configurações de função padrão em Ansible
Agora, vamos implementar o primeiro exemplo em que obteremos o caminho padrão usando o plug -in de pesquisa de Ansible. Primeiro, criaremos o manual para incluir o host remoto de destino e as tarefas. A seguir, é apresentado o comando usado para criar o manual em Ansible:
[root@master Ansible]# nano config_lookup.yml
Depois de escrever o comando acima e bater em Enter, o editor de playbook será aberto em um novo terminal chamado “Config_lookup. A identificação da instância ou módulo que pretendemos usar inicialmente será escrita. Usamos o parâmetro "coletores_facts" do Ansible, para que obteremos todas as informações relacionadas ao host localhost na saída, mas não queremos obter as informações extras do host local de destino, por isso passamos o “falso ”Valor para os“ Gather_facts ”no manual. Agora, mencionaremos os anfitriões do manual, por isso fornecemos o "localhost".
Em seguida, queremos listar as tarefas que queremos fazer. Então, escrevemos o parâmetro "tarefas" e depois listamos as tarefas uma por um. Nesta lista, primeiro, temos que usar o parâmetro "nome" para exibir o nome das tarefas. E então utilizamos o parâmetro "Debug" e fornecemos o parâmetro "msg" nele para que a mensagem que queremos exibir no resultado seja exibida.
- Nome: Exemplos de pesquisa de configuração
Gather_Facts: False
Anfitriões: localhost
tarefas:
- Nome: Imprimir Chaves de Função
depurar:
MSG: "Estes são os caminhos de função configurados: lookup ('config', 'default_roles_path')"
Neste exemplo, não vamos construir o arquivo de inventário para fazer uma conexão porque estamos usando o host local como um host remoto de destino. Para obter os resultados executando o manual criado acima, escreveremos o comando abaixo no terminal:
[root@master Ansible]# Ansible-playbook config_lookup.yml
Aqui está a saída depois de executar o comando acima. Obteremos o caminho configurado da localhost junto com a mensagem que escrevemos no manual na fonte verde com o sinal "ok".
Exemplo 02: Visualizando as cores configuradas padrão em Ansible
Aqui está o segundo exemplo que vamos implementar usando o módulo interno de Ansible, que é o módulo de pesquisa. Nesse cenário, obteremos as cores configuradas do item.
Não vamos criar outro manual para este exemplo. Acabamos de fazer as mudanças necessárias no manual "config_lookup". Primeiro, abriremos o manual escrevendo o comando abaixo:
[root@master Ansible]# nano config_lookup.yml
Nas tarefas de manual, alteraremos o nome da tarefa e depois passaremos o "item" para obter a cor padrão. Usamos o parâmetro "loop" para obter as cores padrão em uma lista.
- Nome: Exemplos de pesquisa de configuração
Gather_Facts: False
Anfitriões: localhost
tarefas:
- Nome: veja as cores padrão
Debug: msg = "item"
loop: "lookup ('config', 'color_ok', 'color_changed', 'color_skip', wantList = true)"
Agora, encerre o manual salvando a modificação e execute o manual através do comando abaixo:
[root@master Ansible]# Ansible-playbook config_lookup.yml
O snippet ilustrado a seguir nos mostrará a saída desejada executando a declaração escrita acima. Temos as três cores configuradas padrão do plugin de pesquisa em Ansible, verde, amarelo e ciano.
Exemplo 03: Visualizando o procedimento para os privilégios crescentes em Ansible
Vamos implementar o terceiro exemplo do plug-in de pesquisa de configuração interno em Ansible. No exemplo, escalaremos os privilégios do módulo de pesquisa. Primeiro, vamos abrir o manual.
[root@master Ansible]# nano config_lookup.yml
Agora vamos alterar o código e configurá -lo para atender aos nossos requisitos. Mudaremos o nome da tarefa e mudaremos a lógica de depuração.
- Nome: Exemplos de pesquisa de configuração
Gather_Facts: False
Anfitriões: localhost
tarefas:
- Nome: Imprimir método de escalada de privilégio padrão
depurar:
msg: "default_become_method: lookup ('config', 'default_become_method')"
Novamente, usaremos o mesmo comando para executar e mostrar os resultados do exemplo.
[root@master Ansible]# Ansible-playbook config_lookup.yml
Como mostrado na saída abaixo, obteremos o "sudo" escalado privilégio na cor verde.
Conclusão
Aprendemos um dos módulos embutidos de Ansible, que é a configuração do plug-in de pesquisa. Discutimos o funcionamento do plug -in e implementamos vários exemplos para que possamos entender facilmente os módulos de trabalho e diferentes do plug -in de pesquisa no Ansible.