Где мой пакет данных для повара?

Я пытался создать пакет данных Chef из каталога chef-repo с помощью команды:

knife data bag create users deployer

И я получаю ответ:

Created data_bag[users]
Created data_bag_item[deployer]

Но я не могу найти пользователей пакетов данных и элемент данных. Это не в папке data_bags или где-либо еще, что я мог видеть. Если я сделаю

knife data bag show users

Он покажет мне имя элемента пакета данных. Поэтому он должен быть где-то сохранен. Документация говорит мне, что пакет данных должен находиться в папке chef-repo → data_bags → users. Но папка data_bags кажется пустой. Итак, где же я только что создал пакет данных?

Ответ 1

С шеф-поваром существует несоответствие между вашим локальным компьютером (называемым "рабочей станцией" ) и удаленным сервером Chef. В вашем случае команда knife создала пакет данных на удаленном сервере шеф-повара.

Я понимаю, как это может ввести в заблуждение. Сумка для данных - это не что иное, как папка, содержащая один или несколько файлов .json. Обычно вы создаете эту структуру вручную на своей рабочей станции (используя графический интерфейс или терминал).

Итак, в вашем примере просто создайте папку, которую вы описали (chef-repo -> data_bags -> users), а затем создайте файл chef-repo/data_bags/users/deployer.json, используя схему, описанную в кулинарной книге.

Ответ 2

Когда вы используете

мешок данных для ножа создает пользователей для развертывания

нож создает этот пакет данных на шеф-сервере. Он недоступен на локальной рабочей станции шеф-повара. Но вы можете загрузить этот пакет данных на локальную рабочую станцию. Просто используйте следующую команду

knife скачать data_bags

Эта команда загрузит вам пакет данных в chef-repo/data_bags/users/deployer.json Вы можете пойти туда и напрямую обновить этот файл JSON. Когда вы закончите, не забудьте снова загрузить этот пакет данных с помощью "загрузки ножа".