Chef Vault Error - 无法在用户或客户端找到关键信息

时间:2017-01-31 17:04:07

标签: chef aws-opsworks

目前正在为Chef Automate运行AWS OpsWorks,但遇到了来自仅限Chef Server世界的许多问题。以下是确切的错误消息:

WARNING: pivotal not found in users, trying clients.
ERROR: ChefVault::Exceptions::AdminNotFound: FATAL: Could not find pivotal in users or clients!

但是,如果我通过SSH连接到EC2实例,我会在运行

时返回用户
sudo chef-server-ctl user-list

我还使用automate-ctl命令创建了关键用户,但无济于事。

我想做的就是加密一些AWS信誉,以便从配方中的S3存储桶中读取。为什么一定要这么难?!

1 个答案:

答案 0 :(得分:1)

好吧,当我从Chef Server转换为Chef Automate时,我有点困惑。最终解决方案相当简单。在设置AWS OpsWorks for Chef Automate时,您将在EC2实例启动时下载入门包。这与使用Chef Server时下载“starter pack”不同。刀配置和生成的* .pem文件是关键用户。 Chef Vault与Chef Server配合使用,而不是Chef Automate。我通过SSH连接到运行Chef Automate的Linux AMI EC2实例,并使用chef-server-ctl创建了一个具有管理员权限的用户,并在执行此操作时抓取了相应的私钥。

sudo chef-server-ctl user-create ....
sudo chef-server-ctl org-user-add .... --admin

然后我更新了我的本地knife.rb文件,以反映node_nameclient_key的内容。之后,以下命令在最终工作之前抛出错误

knife vault create aws s3_bucket_keys -A "admin" .\data_bags\aws\s3_bucket_keys.json -M client

默认情况下使用-M client,您可以将其添加到knife.rb文件

knife[:vault_mode] = 'client'