У меня есть ряд лабораторных серверов Linux (centos/rh), которые созданы с использованием автоматической установки PXE. через файл кикстарта. Я хотел бы использовать другой автоматизированный процесс (ansible)для отслеживания завершения установки. Обычно я бы использовал простой инструмент, такой как ping
, но к этим серверам можно получить удаленный доступ только через внутренний прокси-сервер.
Одна из идей заключалась в том, чтобы добавить httpd и простую страницу index.html через кикстарт, а затем использовать curl
для циклического запроса страницы. Хотя это будет работать, это кажется довольно тяжелым для такой простой проверки, а затем требует дополнительного шага по удалению всего этого багажа.
Я понимаю, что ping не может работать на этом уровне в стеке, но есть ли способ выполнить что-то вроде:
ping labhost --proxy 192.168.0.2:3128
Разрешить ssh от хоста, на котором работает Ansible, к новому экземпляру. Либо маршрутизируется напрямую, либо через что-то вроде бастиона ssh перед ним с ProxyJump
. Вам нужно будет знать исходные учетные данные, поэтому установите ключ ssh с помощью кикстарта.
Добавьте хост в инвентарь и запустите на нем игру. Модуль wait_for_connection
попытается подключиться к нему несколько раз. Воспроизведению потребуется gather_facts: False
, чтобы пропустить неявный сбор информации о хосте, так как он недоступен для запуска.
Модуль Ansible ping
не является эхом ICMP. Он удаленно входит в коробку, ssh по умолчанию, и получает простой ответ.
ICMP — это функция IP на уровне, отличном от уровня TCP или UDP. Не имеет особого смысла проксировать ICMP-пакет дальше, чем IP-пакет.