Como usar o módulo de ping Ansible

Como usar o módulo de ping Ansible

Para executar uma tarefa automatizada em um host remoto com Ansible, é necessário preencher e trabalhar com certas variáveis, como se é esperado. Por exemplo, esse tipo de tarefa é necessário para colocar um host remoto on -line, permitir privilégios de login e usuário e configurar um ambiente Python.

É possível SSH em um host remoto e verificar se o host atende a todos os critérios. No entanto, como uma ferramenta de automação, o Ansible fornece módulos que permitem executar essas tarefas tediosas e demoradas em uma única linha de comando.

Este tutorial mostra como usar o módulo Ping Ansible embutido para executar várias variáveis ​​de conjunto em hosts remotos. A solicitação de Ping Ansible é uma ferramenta simples, mas útil, que você pode usar para testar a disponibilidade e a praticidade de hosts remotos.

Agora vamos dar uma olhada em como o ping Ansible funciona.

OBSERVAÇÃO: Esta seção é um tanto teórica. Se tudo o que você precisa é a parte técnica do artigo, você pode pular esta seção. Mesmo assim, recomendamos a leitura desta seção, pois fornece algumas idéias e informações úteis no módulo de ping.

Com isso observado, agora seguiremos para apresentar o módulo de ping.

Sobre o módulo Ansible Ping

A solicitação de Ping Ansible faz check -up no host remoto. Este módulo verifica especificamente:

  • Se o host remoto está acordado e acessível.
  • Se o ambiente Python pode executar com sucesso os manuais necessários.
  • O usuário login e privilégios.

Depois que uma solicitação de ping é enviada ao host remoto, o módulo retorna um valor indicando se o ping foi bem -sucedido. Por padrão, o módulo Ping retorna a string 'Pong' no sucesso e uma exceção na falha (se especificada).

Dica profissional: Para garantir que seus manuais de Ansible nos hosts remotos de destino não fracassem, use o módulo de ping para verificar se os requisitos são atendidos e execute apenas as tarefas se uma saída bem -sucedida for obtida.

Recursos do módulo Ansible Ping

O módulo Ping é bastante simples e a seguir é uma lista dos recursos fornecidos por este módulo:

  • Não é um ping ICMP; Em vez disso, é um pequeno módulo que requer um ambiente python válido em hosts remotos.
  • Os hosts remotos do Windows devem usar o módulo win_ping.
  • Fornece um módulo net_ping para dispositivos de rede.
  • Aceita apenas um único parâmetro para aumentar uma exceção.
  • Usado por padrão ao ligar para o comando Ansible no diretório/usr/bin/Ansible para verificar as permissões de login e um ambiente python válido.
  • Retorna a string 'Pong' no sucesso.

Como usar o módulo de ping Ansible

Agora veremos alguns exemplos que usam o módulo Ansible Ping.

Usando o comando ad hoc ping

A maneira mais simples de executar o módulo Ansible Ping é executar um comando ad hoc simples no terminal.

O comando ad hoc é o seguinte:

Ansible All -M ping -V

O comando acima começa chamando Ansible, seguido pelo padrão específico do host. Nesse caso, queremos ping 'All' hosts. A próxima parte, '-m', especifica o módulo que queremos usar. O '-v' significa detalhado.

No sucesso, você obterá uma saída como a mostrada abaixo:

Usando/etc/Ansible/Ansible.CFG como arquivo de configuração 35.222.210.12
| Sucesso => ​​
"Ansible_facts":
"Descoberd_interPreter_python": "/usr/bin/python",
"Alterado": falso,
"pingue-pongue"

Se os hosts remotos não estiverem disponíveis (talvez estejam offline), você obterá uma saída como a mostrada abaixo:

Usando/etc/Ansible/Ansible.CFG como arquivo de configuração 35.222.210.12
| INACESSÍVEL! =>
"Alterado": falso,
"msg": "falhou em se conectar ao host via ssh: ssh: conectar ao host 35.222.210.12 Porta 22: Conexão cronometrada ",
"inacessível": verdadeiro

Usando o módulo de ping em playbooks

Você também pode usar o módulo de ping dentro de um manual. Na maioria dos casos, você não criará um manual que execute apenas um pedido de ping. No entanto, você pode envolver todas as tarefas nas condições da solicitação de ping.

Considere o seguinte manual simples:

- Hosts: todos
Torne -se: sim
tarefas:
- ping

Você pode notar que, no manual acima, incluí a diretiva 'tornar -se'. Isso não é um requisito, mas encontrei casos em que o módulo de ping falha para um usuário padrão. Agora você pode executar o manual e verificar se o servidor host atende aos requisitos para uma resposta de 'pong' bem -sucedida.

Ansible-playbook ping.yml

Se o ping não tiver sucesso, você receberá o seguinte erro 'inacessível':

Fatal: [35.222.210.12]: inacessível! => "alterado": false, "msg": "Falha ao se conectar ao host via ssh: ssh: conectar ao host 35.222.210.12 Porta 22: Conexão cronometrada "," inacessível ": true

Usando a exceção de aumento com o módulo de ping

Você também pode especificar os dados como uma falha para induzir uma exceção. Isso muda o retorno padrão de 'pong' para 'falha.'

Considere o seguinte manual:

- Hosts: todos
Torne -se: sim
tarefas:
- ping:
Crash: dados

Executar o manual com exceção deve retornar o seguinte valor:

Ansible-playbook ping_except.yml

Conclusão

Este tutorial mostrou a utilidade diversificada do módulo de ping. Embora este módulo não contenha parâmetros complexos como a maioria dos módulos Ansible, ele ainda contém recursos poderosos. Por exemplo, você pode usar o módulo de ping para verificar se um erro é devido a um ambiente Python ausente e criar uma tarefa para instalar o ambiente necessário no host remoto.