Ansible

Как использовать модуль Ansible Ping

Как использовать модуль Ansible Ping

Чтобы выполнить автоматизированную задачу на удаленном хосте с помощью Ansible, необходимо заполнить определенные переменные и работать с ними, как и следовало ожидать. Например, этот тип задачи необходим для подключения удаленного хоста, разрешения входа в систему и пользовательских привилегий, а также для настройки среды Python.

Можно подключиться к удаленному хосту по SSH и проверить, соответствует ли хост всем критериям. Однако в качестве инструмента автоматизации Ansible предоставляет модули, которые позволяют выполнять эти утомительные, трудоемкие задачи в одной строке команды.

В этом руководстве показано, как использовать встроенный модуль проверки связи Ansible для выполнения различных заданных переменных на удаленных хостах. Запрос Ansible ping - это простой, но полезный инструмент, который вы можете использовать для проверки доступности и практичности удаленных хостов.

Теперь мы подробнее рассмотрим, как работает Ansible ping.

ПРИМЕЧАНИЕ: Этот раздел носит несколько теоретический характер. Если все, что вам нужно, это техническая часть статьи, то вы можете пропустить этот раздел. Тем не менее, мы рекомендуем прочитать этот раздел, так как он дает некоторые полезные идеи и информацию о модуле ping.

С учетом этого мы перейдем к представлению модуля ping.

О модуле Ansible ping

Запрос Ansible ping проверяется на удаленном хосте. Этот модуль специально проверяет:

После отправки запроса ping на удаленный хост модуль возвращает значение, указывающее, был ли ping успешным. По умолчанию модуль ping возвращает строку pong в случае успеха и исключение в случае ошибки (если указано).

СОВЕТ ПРОФЕССИОНАЛА: Чтобы убедиться, что ваши плейбуки Ansible на целевых удаленных хостах не дают сбоев, используйте модуль ping, чтобы проверить, выполняются ли требования, и выполняйте задачи только в случае получения успешного результата.

Особенности модуля Ansible ping

Модуль ping довольно прост, и ниже приводится список функций, предоставляемых этим модулем:

Как использовать модуль Ansible ping

Теперь мы рассмотрим несколько примеров, в которых используется модуль Ansible ping.

Использование команды ping AD HOC

Самый простой способ запустить модуль Ansible ping - запустить простую команду AD HOC в терминале.

Команда AD HOC выглядит следующим образом:

доступный все -m ping -v

Вышеупомянутая команда начинается с вызова Ansible, за которым следует конкретный шаблон хоста. В этом случае мы хотим пинговать «все» хосты. Следующая часть, -m, определяет модуль, который мы хотим использовать. '-V' означает подробный.

В случае успеха вы получите результат, подобный показанному ниже:

Использование / etc / ansible / ansible.cfg как файл конфигурации 35.222.210.12
| УСПЕХ =>
"ansible_facts":
"Discover_interpreter_python": "/ usr / bin / python",
"изменено": ложь,
"настольный теннис"

Если удаленные хосты недоступны (возможно, они отключены), вы получите результат, подобный показанному ниже:

Использование / etc / ansible / ansible.cfg как файл конфигурации 35.222.210.12
| Недостижимый! =>
"изменено": ложь,
"msg": "Не удалось подключиться к хосту через ssh: ssh: connect to host 35.222.210.12 порт 22: Превышено время ожидания подключения ",
"unreachable": правда

Использование модуля ping в Playbooks

Вы также можете использовать модуль ping внутри playbook. В большинстве случаев вы не создадите playbook, который выполняет только ping-запрос. Однако вы можете обернуть все задачи в условия ping-запроса.

Рассмотрим следующий простой сценарий:

- хосты: все
стать: да
задачи:
- пинг

Вы можете заметить, что в приведенном выше сценарии я включил директиву «стать». Это не является обязательным требованием, но я встречал случаи, когда модуль ping не работал для стандартного пользователя. Теперь вы можете запустить playbook и проверить, соответствует ли хост-сервер требованиям для успешного ответа 'pong'.

ansible-playbook пинг.yml

Если проверка связи не удалась, вы получите следующую ошибку «недоступен»:

со смертельным исходом: [35.222.210.12]: НЕДОСТУПЕН! => "изменено": false, "msg": "Не удалось подключиться к хосту через ssh: ssh: подключиться к хосту 35.222.210.12 порт 22: Превышено время ожидания подключения "," недоступно ": true

Использование исключения повышения с модулем ping

Вы также можете указать данные как сбой, чтобы вызвать исключение. Это изменяет возврат по умолчанию с «понг» на «сбой».'

Рассмотрим следующий сценарий:

- хосты: все
стать: да
задачи:
- пинг:
сбой: данные

Запуск playbook с исключением должен вернуть следующее значение:

ansible-playbook ping_except.yml

Заключение

В этом руководстве вы узнали о разнообразных функциях модуля ping. Хотя этот модуль не содержит сложных параметров, как большинство модулей Ansible, он по-прежнему содержит мощные возможности. Например, вы можете использовать модуль ping, чтобы проверить, не вызвана ли ошибка отсутствующей средой Python, и создать задачу для установки требуемой среды на удаленном хосте.

Как использовать чит-движок GameConqueror в Linux
В статье содержится руководство по использованию чит-движка GameConqueror в Linux. Многие пользователи, играющие в игры на Windows, часто используют п...
Лучшие эмуляторы игровой консоли для Linux
В этой статье будет перечислено популярное программное обеспечение для эмуляции игровых консолей, доступное для Linux. Эмуляция - это уровень совмести...
Лучшие дистрибутивы Linux для игр в 2021 году
Операционная система Linux прошла долгий путь от своего первоначального простого серверного вида. Эта ОС значительно улучшилась за последние годы и те...