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

时间:2014-01-19 04:37:56

标签: chef 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 - >文件夹中。 data_bags - >用户即可。但我的data_bags文件夹似乎是空的。那么我刚刚创建的数据包在哪里?

2 个答案:

答案 0 :(得分:14)

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

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

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

答案 1 :(得分:12)

使用时

  

刀数据包创建用户部署者

knife在chef-server上创建数据包。它不适用于您当地的厨师工作站。但您可以在本地工作站上下载此数据包。只需使用以下命令

  

刀下载data_bags

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

相关问题