目前正在为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存储桶中读取。为什么一定要这么难?!
答案 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_name
和client_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'