Динамический инвентарь Chef, такой как Ansible?

В Ansible я могу использовать сценарий оболочки для предоставления списка настраиваемых хостов, в Chef я знал, что Chef Server предоставляет аналогичные функции .

Однако я не Я не хочу устанавливать тяжелый сервер, чтобы обеспечить только эту функцию, есть ли какое-нибудь обходное решение, чтобы я мог сделать то же самое в Chef, например, Ansible?

2
задан 15 August 2016 в 08:22
1 ответ

Ключевым моментом, который предоставляет сервер Chef по сравнению с Chef Solo, является возможность поиска, которая может находить серверы / узлы на основе заданного запроса.

Я понимаю, что не хочу размещать свой собственный сервер Chef чтобы получить эту функциональность! Есть много движущихся частей, чтобы обеспечить это, erlang и rabbitmq и ...

К счастью chef zero , или режим --local для chef-client, как он теперь известен, поддерживает поиск и действует как собственный мини-сервер, только временный.

Он может читать из json-файлов узла / среды / ролей в правильной структуре каталогов и действовать как конечная точка API, пока не завершится запуск Chef.

Кроме того, с учетом этой структуры чтобы использовать поиск в рецептах для поиска других узлов, можно использовать Knife search --local 'role: web-server AND chef_environment: production' для вывода списка совпавших узлов, а также Knife ssh - local 'role: web-server AND chef_environment: production' 'ssh_command' для выполнения команд на всех серверах.

Таким образом, хотя это не совсем система динамической инвентаризации в стиле ansible, вы можете многое сделать с ним.

1
ответ дан 3 December 2019 в 12:39

Теги

Похожие вопросы