Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Chef infra 我的厨师数据包项目在哪里?_Chef Infra_Knife_Databags - Fatal编程技术网

Chef infra 我的厨师数据包项目在哪里?

Chef infra 我的厨师数据包项目在哪里?,chef-infra,knife,databags,Chef Infra,Knife,Databags,我试图使用以下命令从Chef repo目录中创建一个Chef数据包: knife data bag create users deployer 我得到的答复是: Created data_bag[users] Created data_bag_item[deployer] 但我无法找到数据包用户或其数据包项目。它不在data_bags文件夹或我能看到的任何其他地方。如果我做一个 knife data bag show users 它将显示数据包项目名称。所以它必须被保存在某个地方。文档告诉

我试图使用以下命令从Chef repo目录中创建一个Chef数据包:

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\u bags->users中。但是我的数据包文件夹似乎是空的。那么我刚刚创建的数据包在哪里呢?

对于Chef,您的本地计算机(称为“工作站”)和远程Chef服务器之间存在差异。在您的情况下,
knife
命令在远程厨师服务器上创建了数据包

我理解这会产生误导。数据包只不过是包含一个或多个
.json
文件的文件夹。通常在工作站上手动生成此结构(使用GUI或终端)

因此,在您的示例中,只需创建您描述的文件夹(
chef repo->data\u bags->users
),然后使用烹饪书描述的模式创建一个
chef repo/data\u bags/users/deployer.json
文件。

当您使用

刀数据包创建用户部署器

刀子在chef服务器上创建数据包。在本地厨师工作站上不可用。但您可以在本地工作站上下载此数据包。只需使用以下命令

刀下载数据包

此命令将在chef repo/data_bags/users/deployer.json中下载您的数据包
您可以去那里直接更新这个JSON文件。完成后,请记住使用“刀上载”再次上载此数据包。

谢谢您的解释。我回去重新阅读了文档,确实它说“create参数用于向服务器添加数据包”。不知怎么的,我错过了。无论如何,我不得不说,对于一个厨师noob来说,这可能有点令人困惑。我们所有的文档都是在GitHub上开源的。Chef的技术作者很想听到这样的反馈(Twitter上的@chefdocs)。Command
knife upload。
真的帮助了我,因为我找不到任何地方可以将数据包上传到服务器。由于某种原因,
文件中的刀数据包找不到我的数据包