Utilizando uma das mais recentes técnicas de gerenciamento, "Ansible", apresentamos como listamos todos os hosts monitorados no dispositivo. Em Ansible, usamos o plug -in de "inventário" para listar todos os hosts na rede.
É crucial ter uma lista de todas as suas máquinas host em Ansible. Manter um arquivo de inventário organizado é tão crucial quanto manter os manuais ou tarefas, porque você se encontrará constantemente em um estado de incerteza e se pergunte com várias preocupações se seu arquivo de inventário for mal administrado. Além do exposto, a definição do arquivo de inventário das variáveis necessárias minimiza o conteúdo da tarefa em manuais e acelera as interpretações. Há um grupo de variáveis que podem ser declaradas em seus manuais e arquivos de inventário Ansible responsáveis por conectar e configurar o comportamento da conectividade com a máquina host.
Pré -requisitos:
A seguir, são apresentados os requisitos antes de implementar o comando de inventário da lista de hosts em Ansible:
Exemplo: inventário da lista de hosts na máquina
Aqui está o exemplo que implementamos na ferramenta Ansible para verificar ou definir o inventário da lista de hosts. Para isso, faremos este exemplo em etapas diferentes para que possamos entender facilmente o trabalho e a implementação deste tutorial. A seguir estão as etapas:
Etapa 1: verifique o inventário da lista de hosts padrão no dispositivo host remoto de destino
Primeiro, verificamos quantos hosts estão no inventário da ferramenta Ansible. Para isso, empregamos a declaração "Ansible" com "-list-host" para que possamos exibir os nós de manipulação padrão no inventário.
[root@master Ansible]# Ansible All-List-hosts
Aqui está a saída depois de escrever o comando anterior:
O terminal Ansible exibe “0 hosts”, como você pode ver na resposta fornecida porque não declaramos o inventário. Geramos o inventário para listar o inventário do host no terminal antes de abordarmos isso.
Inventário padrão:
Quando instalamos o Ansible no software, o Ansible cria um arquivo de inventário encontrado escrevendo a seguinte declaração no terminal:
[root@master Ansible]# sudo nano/etc/Ansible/hosts
O resultado é gerado quando escrevemos a declaração anterior. Em seguida, pede que você insira a senha:
Neste instantâneo, o arquivo de hosts Ansible. Esses hosts incluem os URLs e diferentes endereços IP.
Etapa 2: Defina o inventário personalizado em Ansible
Em Ansible, também podemos definir nosso inventário escrevendo várias declarações no terminal Ansible. Definir o inventário ao executar as declarações e manuais é uma decisão sábia que impede o conflito dos hosts e o fracasso enquanto se conecta com os hosts.
Para começar a definir o inventário por conta própria, primeiro escrevemos a seguinte declaração para que possamos construir o inventário em Ansible e listar os hosts nela, para que façamos a conexão entre o controlador Ansible e os hosts remotos direcionados.
[root@master Ansible]# Nano hosts.yml
Depois de escrever a declaração anterior, o inventário é criado e lançado em um novo terminal Ansible com os “hosts.título YML ”. Em seguida, listamos os hosts direcionados um por um no inventário. O primeiro host com o qual nos conectamos é um host Linux. Fornecemos o endereço IP do host Linux, o usuário Ansible, a senha Ansible, o tipo de conexão e o número da porta Ansible. Também fazemos o mesmo com o segundo host alvo. O segundo host que usamos é o anfitrião Ansible. Todos os hosts que listamos estão sob o parâmetro Ansible no inventário.
Ansible:
anfitriões:
Linux_host:
Ansible_host: 192.168.3.229
Ansible_user: root
Ansible_password: tpstps_22
Ansible_connection: ssh
Ansible_port: 22
Ansible_host:
Ansible_host: 192.168.7.10
Ansible_user: Iris
Ansible_password: tpstps_1
Ansible_connection: ssh
Ansible_port: 22
Depois de fazer o arquivo de inventário e fornecer os hosts, agora encerramos o arquivo de inventário e voltamos ao terminal principal Ansible.
Etapa 3: Crie o manual em Ansible
Em seguida, criamos o manual na ferramenta Ansible para definirmos as tarefas. Para isso, escrevemos o seguinte comando no terminal principal Ansible:
[root@master Ansible]# nano Ansible_advanced_inventory.yml
Agora, o manual é lançado em um novo terminal. Primeiro, escrevemos o título do manual. Na próxima linha, fornecemos o host de destino. Utilizamos a opção de fato de coleta que é usada para obter todas as informações dos hosts. Mas aqui, passamos "não", o que significa que não queremos obter todos os dados dos hosts.
Em seguida, listamos as tarefas no manual. A primeira tarefa é usada para exibir o host de destino com o nome do host. Na próxima tarefa, imprimimos os resultados do host.
- Nome: Ansible Advanced Host Inventory
Hosts: Ansible [0]
Gather_facts: Não
tarefas:
- Nome: Obtenha o nome do host do nó gerenciado
Shell: "HostName"
registro: resultado
- Nome: Print HostName
depurar:
msg: "resultado.stdout "
Agora, queremos executar o manual junto com o arquivo de inventário. Então, primeiro terminamos o manual. A seguir, é apresentada a afirmação que usamos para executar o comando:
[root@master Ansible]# Ansible-playbook Ansible_advanced_inventory.yml -i host.yml
A seguir, é apresentado a tela de saída que mostra que a conexão é bem -sucedida. Desde que passamos pelo Ansible [0] no manual, o primeiro host é exibido na saída:
Conclusão
Tivemos uma discussão aprofundada no inventário Ansible ao longo deste tutorial. Aprendemos a construir o inventário em Ansible e depois conectá -los com os hosts remotos de destino. Também implementamos um exemplo para que possamos entender facilmente os conceitos de inventário Ansible.