Какие подсистемы балансировки нагрузки - они? Существует ли брандмауэр между подсистемой балансировки нагрузки и веб-серверами?
Я знаю на подсистемах балансировки нагрузки F5 в конфигурации, подобной тому, что Вы описываете, она требуется, чтобы включать SNAT. С включенным SNAT подсистема балансировки нагрузки эффективно проксирует запрос между конечным пользователем и выбранным веб-сервером. Эффективно подсистема балансировки нагрузки выполняет запрос от имени конечного пользователя и затем возвращает ответ пользователю. Доказательство этого - то, что все запросы в Вашем веб-сервере access_logs заполнены запросами от Вашей подсистемы балансировки нагрузки, а не прямого дюйм/с конечного пользователя.
Вы хотите, чтобы Ваша подсистема балансировки нагрузки была единственной точкой контакта между Вами и Вашими конечными пользователями. Конечные пользователи никогда не должны должны быть знать об отдельных веб-серверах.
Похоже, вы не совсем понимаете, что такое clientconfigs.sqlite
на самом деле. Этот файл является частью механизма Stored Configuration Puppet. Это файл, поддерживаемый мастером марионеток, а не клиентами.
Его создание контролируется параметрами storeconfigs
, async_storeconfigs
и db *
в файле [master]
раздел puppet.conf
. По умолчанию (когда не заданы параметры db *
) используется адаптер SQLite.
Судя по вставленной вами конфигурации, похоже, что вы настроили мастер для хранения конфигурации в базе данных MySQL через брокер Stomp. Похоже, что обновление базы данных SQLite не сделано намеренно?
Почему этот файл базы данных был создан с самого начала, - хороший вопрос. Моя гипотеза заключалась бы в том, что Puppet Master запустился с неполной конфигурацией во время начальной настройки сервера.
После некоторого покопания в исходных файлах Puppet Ruby , Я отследил проблему до ошибки, связанной с объединением разделов файла конфигурации Puppet. Все сводится к слову «master»
Резюме : Мастера Puppet, выступая в качестве клиента Puppet и в «основной» среде, вызывают проблемы с файлом конфигурации парсинг.
Подробности :
Когда марионеточный агент запускает одно из действий, которые он выполняет, это анализирует файл конфигурации (обычно /etc/puppet/puppet.conf
).
Файл конфигурации разбивается на разделы, например, «[ main] »,« [agent] »,« [master] »и т. д. Каждый из этих разделов хранится отдельно в хэше, сгенерированном в результате анализа файла конфигурации. В моем случае pmaster-dev имеет следующие разделы: «memory», «master», «cli» и «agent».
Также могут быть разделы для каждой среды. Например, если существует среда под названием «stable201301», тогда в файле конфигурации может быть раздел под названием «[stable201301]».
Для каждого из указанных выше разделов (называемых «исходными кодами» в коде) вы проверяете все настройки, связанные с " Поскольку мастер Puppet (как клиент Puppet) находится в «основной» среде, этот параметр приводит к установке класса кэша, и поэтому при запуске puppet agent --test
марионеточный клиент ищет кэшированные факты.
Решение (?) : Вы можете убедиться, что мастер Puppet никогда не использовал «главную» среду. Лучшим решением было бы запретить парсеру конфигурации клиента просматривать раздел «[master]» (поскольку это применимо только к мастерам Puppet). Еще лучшим решением было бы разделение файлов конфигурации клиента и главного файла в целом.
Вы можете убедиться, что мастер Puppet никогда не использовал «главную» среду. Лучшим решением было бы запретить парсеру конфигурации клиента просматривать раздел «[master]» (поскольку это применимо только к мастерам Puppet). Еще лучшим решением было бы разделение файлов конфигурации клиента и главного файла в целом. Вы можете убедиться, что мастер Puppet никогда не использовал «главную» среду. Лучшим решением было бы запретить парсеру конфигурации клиента просматривать раздел «[master]» (поскольку это применимо только к мастерам Puppet). Еще лучшим решением было бы разделение файлов конфигурации клиента и главного файла в целом.