Мы выполняем несколько Марионеточных Основных версий 3.7 (Не PE) на экземплярах AWS EC2 позади Эластичной Подсистемы балансировки нагрузки (главным образом для высокой доступности).
В настоящее время проверка подсистемы балансировки нагрузки является просто подключением TCP на порте 8140. Но это не обнаружило, что один из экземпляров был подвешен (он все еще принимал начальное соединение TCP, но не делал что-либо с ним).
Я ищу способ на самом деле отправить, значимый запрос "нет" марионеточному ведущему устройству и иметь его передают результат обратно.
Более конкретные требования:
Существует ли хороший статический путь, который я могу дать проверке состояния для использования? До сих пор я не нашел никого.
Что вы можете использовать в качестве проверки правильности работы мастера марионетки, так это настроить какой-то запрос API, например:
curl -k -H "Accept: pson" https://puppetmaster:8140/production/status/no_key
Вне курса, доступ к API не будет доступен по умолчанию , что означает, что вам придется использовать сертификаты SSL подписанного клиента, чтобы иметь доступ к REST API. Кроме того, у всех сертификатов не будет всех необходимых разрешений.
Это пример выполнения полной компиляции манифеста:
curl -k -H 'Accept: pson' \
--cert /var/lib/puppet/ssl/certs/node.example.com.pem \
--key /var/lib/puppet/ssl/private_keys/node.example.com.pem \
--cacert /var/lib/puppet/ssl/ca/ca_crt.pem \
https://puppetmaster:8140/production/status/no_key
Не знаю, можно ли интегрировать сертификаты в проверки ELB, но если это не так, возможно, вы можете поиграть с элементами управления доступом REST API и настроить что-то в этом роде в auth.conf:
# Allow ELB to access REST endpoint
path ~ ^/status/no_key$
auth off
allow_ip <ip_of_loadbalancer>
Перезапустите puppetmaster и попробуйте простую проверку:
curl -k -H "Accept: pson" https://puppetmaster:8140/production/status/no_key
Это должно сработать. Только будьте осторожны с auth.conf, чтобы не перетянуть себя!
Чтобы увидеть все доступные ключи API, взгляните на документацию REST API на сайте PuppetLabs.