Где мой пакет данных для повара?
Я пытался создать пакет данных 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. Когда вы закончите, не забудьте снова загрузить этот пакет данных с помощью "загрузки ножа".