Utilizando uma das mais recentes técnicas de gerenciamento, “Ansible”, apresentamos como listamos cada host monitorado no dispositivo. No Ansible, usamos o plugin “inventory” para listar todos os hosts da rede.
É crucial ter uma lista de todas as suas máquinas host no Ansible. Manter um arquivo de inventário organizado é tão crucial quanto manter os playbooks ou tarefas, porque você se encontrará constantemente em um estado de incerteza e se perguntará com várias preocupações se seu arquivo de inventário é 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 playbooks e agiliza as interpretações. Há um grupo de variáveis que podem ser declaradas em seus playbooks e nos arquivos de inventário Ansible responsáveis por conectar e configurar o comportamento da conectividade com a máquina host.
Pré-requisitos:
A seguir estão os requisitos antes de implementar o comando de inventário de lista de hosts no Ansible:
- Para começar a implementação, primeiro precisamos de um software que seja usado para configuração do Ansible, instalado no dispositivo do servidor com a versão mais recente. O Ansible deve ser configurado para que possamos listar facilmente a máquina all-host em nossa rede.
- Para fazer qualquer tarefa de configuração no Ansible, precisamos de um gerenciador de configuração principal. Neste tutorial, usamos o servidor do controlador como o controlador principal.
- Para implementar quaisquer alterações, precisamos direcionar os servidores host no tutorial de inventário de lista de hosts. Aqui, temos dois hosts remotos de destino.
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 diferentes etapas para que possamos entender facilmente o funcionamento 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 existem no inventário da ferramenta Ansible. Para isso, empregamos a instrução “ansible” com “—list-hosts” para que possamos exibir os nós gerenciados padrão no inventário.
[ raiz @ mestre 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 resolvermos isso.
Inventário padrão:
Quando instalamos o Ansible no software, o Ansible cria um arquivo de inventário que é encontrado escrevendo a seguinte instrução no terminal:
[ raiz @ mestre ansible ] # sudo nano /etc/ansible/hosts
O resultado é gerado quando escrevemos a declaração anterior. Em seguida, ele pede para você digitar a senha:
Neste instantâneo, o arquivo de hosts Ansible padrão fornece as informações sobre os hosts não agrupados e os hosts do grupo de servidores da web. Esses hosts incluem os URLs e diferentes endereços IP.
Etapa 2: definir o inventário personalizado no Ansible
No Ansible, também podemos definir nosso inventário escrevendo várias instruções no terminal Ansible. Definir o inventário ao executar as instruções e playbooks é uma decisão sábia que evita conflitos com os hosts e falhas durante a conexão com os hosts.
Para começar a definir o inventário por conta própria, primeiro escrevemos a seguinte instrução para que possamos criar o inventário no Ansible e listar os hosts nele para que possamos fazer a conexão entre o controlador Ansible e os hosts remotos de destino.
[ raiz @ mestre ansible ] # nano hosts.yml
Depois de escrever a instrução anterior, o inventário é criado e lançado em um novo terminal Ansible com o título “hosts.yml”. Em seguida, listamos os hosts de destino 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 de destino. O segundo host que usamos é o host 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: íris
ansible_password: TpsTps_1
ansible_connection: ssh
ansible_port: 22
Depois de criar o arquivo de inventário e fornecer os hosts nele, encerramos o arquivo de inventário e voltamos ao terminal principal do Ansible.
Passo 3: Crie o Playbook no Ansible
Em seguida, criamos o playbook na ferramenta Ansible para definirmos as tarefas. Para isso, escrevemos o seguinte comando no terminal principal do Ansible:
[ raiz @ mestre ansible ] # nano ansible_advanced_inventory.yml
Agora, o playbook é lançado em um novo terminal. Primeiro, escrevemos o título do playbook. Na próxima linha, fornecemos o host de destino. Usamos a opção de coleta de fatos 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 playbook. 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: inventário de host avançado Ansiblehosts: Ansible [ 0 ]
coletar_fatos: não
tarefas:
- nome: Obter nome de anfitrião do nó gerenciado
concha: 'nome de anfitrião'
registrar: resultado
- nome: impressão nome de anfitrião
depurar:
msg: '{{resultado.stdout}}'
Agora, queremos executar o playbook junto com o arquivo de inventário. Então, primeiro encerramos o playbook. A seguir está a instrução que usamos para executar o comando:
[ raiz @ mestre ansible ] # ansible-playbook ansible_advanced_inventory.yml –i host.yml
A seguir está a exibição de saída que mostra que a conexão foi bem-sucedida. Como passamos o Ansible[0] no playbook, o primeiro host é exibido na saída:
Conclusão
Tivemos uma discussão aprofundada no inventário Ansible ao longo deste tutorial. Aprendemos como criar o inventário no Ansible e conectá-lo aos hosts remotos de destino. Também implementamos um exemplo para que possamos entender facilmente os conceitos de inventário Ansible.