11

我试图使用以下命令从 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_bags -> users中。但我的 data_bags 文件夹似乎是空的。那么我刚刚创建的数据包在哪里呢?

4

2 回答 2

14

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

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

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

于 2014-01-19T04:44:43.057 回答
12

当你使用

刀数据包创建用户部署器

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

刀下载data_bags

这个命令会下载你的数据包到chef-repo/data_bags/users/deployer.json 你可以去那里直接更新这个 JSON 文件。完成后,记得用“刀上传”再次上传这个数据包。

于 2015-04-16T07:05:49.097 回答