Я помогал кому-то этим вечером с созданием нового узла с инфрам шеф-повара. Я хотел документировать это так, чтобы если кто-то еще испытывал аналогичную проблему, может быть немного легче понять, что происходит.
⭐ Совет 1 Спросите помощь, когда вы застряли.
Заявление о проблеме было «пытаться пройти файл JSON к шеф-нолу для дополнительных атрибутов». Команда в использовании была Chef-Client Отказ
Люди могут не знать точную терминологию, используемую продуктом, поэтому может быть трудно понять это без руководства. Люди с опытом могут способны дать вам больше понимания правой терминологией.
Чтобы убедиться, что я понял, что искал человек, я попросил уточнить вопросы. Ответы на эти вопросы помогли мне понять, что это создает новый экземпляр или загрузка Отказ Пока Chef-Client Страница имеет полезную информацию, она не так специфическая и прямая, как Страница загрузки Отказ
⭐ Совет 2 Не пропустите -o и -J как для Chef-Client.
-O Переопределяет run_List и -j Как вы указываете файл, который включает в себя рецепты и атрибуты, которые вы хотите запустить. Таким образом, вместо того, чтобы использовать как -j и -O, мы взяли конфигурацию, указанную после -O и добавили ее в файл json.
⭐ Совет 3 Файл JSON имеет определенный формат, который не должен выглядеть как стандартный файл атрибута.
В файле атрибутов узла атрибуты выглядят как Узел [«Resolver»] [«Именности»]
Отказ Так что это:
{ "node['resolver']['nameservers']": ["10.0.0.1"], "node['search']": "http://sparkle.corp", "run_list": ["recipe[resolver]"] }
Действительно JSON и смотрит рядом с соответствующей конфигурацией в определениях атрибутов узла. Это даже успешно будет принято, но не будет ожидаемого поведения. Никаких ошибок не укажет вам проблему с файлом JSON на Controge.
Вместо этого файл JSON должен выглядеть так:
{ "resolver": { "nameservers": ["10.0.0.1"], "search": "http://sparkle.corp" }, "run_list": ["recipe[resolver]"] }
Это все сейчас!
Оригинал: «https://dev.to/sigje/three-quick-tips-when-setting-up-a-new-node-with-chef-infra-1a97»