Инвентарь Ansible из БД MySQL

У меня есть запрос по инвентарю Ansible. Можно ли загрузить инвентарь из базы данных MySQL, чем из файла? Я ищу, чтобы указать ssh-ключи хост-машины, хранящиеся в моей базе данных SQL, при вызове playbook. Причина этого подхода заключается в том, что, как я понимаю, для предоставления хост-машины через ansible ключ ssh должен быть добавлен в файл известных хостов, чтобы избежать запроса пароля и включить вход на основе ключа. В полностью автоматизированной среде я хочу избежать ввода пароля, а сохранение пароля в файле имеет очевидные проблемы с безопасностью.


person user3364247    schedule 23.03.2015    source источник


Ответы (1)


Да, вы можете использовать динамический инвентарь Ansible для загрузки данных инвентаризации из любого места. Взгляните на сценарий инвентаризации AWS, чтобы увидеть пример вызова API для получения списка экземпляров.

Причина этого подхода заключается в том, что, как я понимаю, для предоставления хост-машины через ansible ключ ssh должен быть добавлен в файл известных хостов, чтобы избежать запроса пароля и включить вход на основе ключа.

Не обязательно. Если вы используете что-то вроде AWS, где экземпляры приходят и уходят часто, вы можете отключить проверку ключа хоста в своей конфигурации Ansible с помощью _ 1_. Это имеет последствия для безопасности, о которых вы должны знать, но довольно часто встречается при работе с недолговечными экземплярами, такими как те, которые вы видите на AWS.

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

Следует отметить, что в Ansible есть зашифрованное хранилище, которое можно использовать для паролей. Тем не менее, аутентификация на основе ключей, как правило, является подходящим вариантом.

person ceejayoz    schedule 23.03.2015