2014-01-19 2 views
10

Я пытался создать пакет данных Chef внутри директории шеф-репо с помощью команды:Где мой предмет мешка для повара?

knife data bag create users deployer 

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

Created data_bag[users] 
Created data_bag_item[deployer] 

Но я не в состоянии определить местонахождение data bag пользователи или его данные сумка item. Это не в папке data_bags или где-либо еще, что я мог видеть. Если я сделаю a

knife data bag show users 

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

ответ

13

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

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

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

+2

Спасибо за объяснение. Я вернулся к перечитанию документации и, конечно же, сказал: «Аргумент create используется для добавления пакета данных ** на сервер». Как-то я пропустил это. В любом случае я должен сказать, что для шеф-повара это может быть немного запутанным. –

+1

Все наши документы с открытым исходным кодом на GitHub. Технический писатель шеф-повара хотел бы услышать такую ​​обратную связь (@chefdocs в Twitter). – sethvargo

12

При использовании

нож сумку данных создают пользователи Deployer

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

нож скачать data_bags

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

+0

Command 'knife upload .' действительно помог мне, потому что я не нашел нигде. Как я мог бы загружать свои пакеты данных на сервер. И по какой-то причине «мешок данных с ножом из файла ...» не нашел мою базу данных – Starx

Смежные вопросы