Inventário de lista de host avançado Ansible

Inventario De Lista De Host Avancado Ansible



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 Ansible
hosts: 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.