Chef: как заставить Chef применять инструкции к определенным узлам только в одной команде

В этом случае вы можете использовать поиск по словарю, это будет немного меньше кода и более ясным.

0
задан Tran Triet 21 January 2019 в 02:22
поделиться

1 ответ

использовать строку поискового запроса в сочетании с knife ssh , см. Последний пример в knife search документации :

Чтобы проверить поисковый запрос это будет использоваться в подкоманде ssh:

$ knife search node "role:web NOT name:web03"

, где запрос в предыдущем примере будет искать все серверы с ролью web, но не на сервере с именем web03. [1114 ]

Поисковый запрос состоит из двух частей: key и search pattern. где key - это имя поля, которое находится в описании JSON индексируемого объекта на сервере Chef (роль, узел, клиент, среда или пакет данных), а search_pattern определяет, что будет искать, используя из следующих шаблонов поиска: точное, подстановочный знак, диапазон или нечеткое соответствие. Ключ и search_pattern чувствительны к регистру; Ключ имеет ограниченную поддержку для сопоставления с несколькими символами подстановки, используя звездочку ("*") (и до тех пор, пока это не первый символ).

, чтобы вы могли использовать строку поискового запроса с ножом ssh:

$ knife ssh "role:web NOT name:web03" "sudo chef-client" -a fqdn
0
ответ дан MrRoth 21 January 2019 в 02:22
поделиться
Другие вопросы по тегам:

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