这似乎是一件容易修复的事情,但我却无法为我创造一个新用户。我是管理仪表板的用户chef-server。我使用root用户创建了一个带有初始命令knife configure --initial
的admin用户。现在,我正在尝试为名为" myuser"的本地用户创建一个api用户。例如。
所以,我这样做:
myuser@chefserver:~$ knife configure --initial
Overwrite /home/myuser/.chef/knife.rb? (Y/N)y
Please enter the chef server URL: [https://chefserver:443]
Please enter a name for the new user: [myuser]
Please enter the existing admin name: [admin]
Please enter the location of the existing admin's private key: [/etc/chef-server/admin.pem]
Please enter the validation clientname: [chef-validator]
Please enter the location of the validation key: [/etc/chef-server/chef-validator.pem]
Please enter the path to a chef repository (or leave blank):
Creating initial API user...
Please enter a password for the new user:
ERROR: The data in your request was invalid
Response: Field 'display_name' missing
为什么无法创建API用户?
答案 0 :(得分:4)
knife configure
目前无法与Chef Server 12一起使用。为Chef Server 12执行初始设置的最简单方法是使用高级WebUI功能。这对于最多25个节点是免费的,否则您应该与Chef Software查询价格。您可以使用命令行工具进行设置,但此时它没有记录,对大多数人来说并不是真的可行。
答案 1 :(得分:0)
以下评论假定您已在主服务器中为该组织创建了组织和用户。并且您将用户和组织.pem密钥复制到本地工作站,现在可以设置工作站了。
用户是管理员,组织是bwengineering,用户必须属于组织。主服务器的FQDN是master.dev
另请注意,您需要使用以下方法来接管主crt文件:
knife ssl fetch https://master.dev
确保cd进入chef-repo文件夹以完成所有这些操作。
在Chef 12中不要使用knife configure --initial
。而是将参数作为标志传递。像这样:
knife configure -s https://master.dev/organizations/bwengineering/ -r ~/chef-repo --admin-client-key ~/chef-repo/.chef/admin.pem --admin-client-name admin -c ~/chef-repo/.chef/knife.rb --validation-client-name bwengineering-validator --validation-key ~/chef-repo/.chef/chef-validator.pem
在此之后将chefdk二进制文件导出到.bash_profile,然后引导您的节点。如何执行后者取决于您的节点配置。如果您可以以root身份登录,则直接使用它,否则使用--sudo标志。