Chef节点无法加载数据包项,因为公钥加密问题

时间:2017-04-04 15:50:24

标签: chef knife databags chef-vault

我刚刚建立了一个新的VM。它使用与所有其他节点相同的烹饪书进行自举。他们可以很好地加载这个数据包。新VM不能。

Stacktrace错误::

/usr/bin/chef-client:57:in `load'
/usr/bin/chef-client:57:in `<main>'
>>>> Caused by ChefVault::Exceptions::SecretDecryption:     DATABAG_NAME/ITEM is not encrypted with your public key.  Contact an administrator of the vault item to encrypt for you!
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-vault-2.9.1/lib/chef-vault/item.rb:152:in `secret'
/opt/chef/embedded/lib/ruby/gems/2.3.0/gems/chef-vault-2.9.1/lib/chef-vault/item.rb:74:in `load_keys'

导致问题的代码段::

databag_contents = ChefVault::Item.load(node['DATABAG_NAME']['ITEM']['databag'], node['DATABAG_NAME']['ITEM']['databag_item'])

从Chef服务器我已经更新了保险库 knife vault update DATABAG_NAME ITEM -S "name:new_node_name_here"

我认为这基本上是一个保险库错误,但事实上我已经运行了文档所说的单一命令,应该用公钥加密数据包......我不知道是什么别的可以做。

感谢。

(实际信息已被删除并替换为&#34; DATABAG_NAME&#34;以及&#34; ITEM&#34;)

编辑::

我尝试过的其他一些事情都在聊天中。我还做了一个knife vault update DATABAG_NAME ITEM -S "name:new_vm_name_here" --verbose --verbose来从输出中获取密钥。我拿着这些密钥并逐个使用knife data bag edit DATABAG ITEM_keys手动添加密钥。他们都没有工作。

1 个答案:

答案 0 :(得分:0)

更新保管库的命令必须是:

knife vault update DATABAG_NAME ITEM -S "name:new_node_name_here" -M client