Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Chef infra 创建API用户失败_Chef Infra_Knife - Fatal编程技术网

Chef infra 创建API用户失败

Chef infra 创建API用户失败,chef-infra,knife,Chef Infra,Knife,这似乎是一件容易修复的事情,但我就是无法让刀子为我创建一个新用户。我是管理仪表板的用户chef服务器。我使用root用户的initial命令knife configure--initial创建了一个管理员用户。现在我尝试为一个名为“myuser”的本地用户创建一个api用户 因此,我这样做: myuser@chefserver:~$ knife configure --initial Overwrite /home/myuser/.chef/knife.rb? (Y/N)y Please ent

这似乎是一件容易修复的事情,但我就是无法让刀子为我创建一个新用户。我是管理仪表板的用户chef服务器。我使用root用户的initial命令
knife configure--initial
创建了一个管理员用户。现在我尝试为一个名为“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用户?

刀配置
目前无法与Chef Server 12一起使用。为Chef Server 12进行初始设置的最简单方法是使用premium WebUI功能。这是免费的,最多25个节点,否则你应该检查厨师软件的定价。您可以使用命令行工具进行设置,但目前尚未记录,对大多数人来说并不可行。

下面的注释假定您已经在主服务器中为该组织创建了一个组织和一个用户。您通过user和organization.pem将密钥复制到本地工作站,现在可以设置工作站了

用户是admin,组织是bwengineering,用户必须属于该组织。主服务器的FQDN为master.dev

还要注意的是,您需要使用以下方法来提交主crt文件:

knife ssl fetch https://master.dev
确保将cd刻录到chef repo文件夹中以完成所有这些操作

在Chef 12中,不要使用
刀配置--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_配置文件,然后引导节点。如何执行后者取决于节点配置。如果您可以以root用户身份登录,则直接使用它,否则请使用--sudo标志。

您是否正在尝试使用新的Chef Server 12发行候选版本?我使用的是:Chef-Server-core_12.0.0-rc.4-1_amd64.s!我通过CLI设置了web界面、报告、分析。我对使用刀子而不是厨师服务ctl感到困惑。只是我还是opscode文档目前处于不断变化的状态?我找不到一篇关于安装Chef Server 12+节点配置+工作站设置的可靠文章。它只是名义上的候选版本,实际上应该称为beta版。我仍然希望UX在发布前会有所改进,但现在它肯定很粗糙。目前,刀具配置的替代品是您将在组织配置屏幕中看到的初学者工具包链接。自从我编写了这个系统以来,我有点偏颇,但我认为它比旧方法好得多:)您还可以在chef server 12系统本身上使用chef server ctl工具来创建用户。这是“刀配置”的替代品。发现此页面时出现相同问题。Chef 12的文档非常糟糕。工作站设置说明现在基本上不存在。我有最新版本,现在被吹捧为官方版本。还是一模一样的行为。这太荒谬了。我将尝试这里的说明并返回结果。否则我就换回11岁。真是浪费时间。这仍然不是正确的解决方案,您不应该使用此解决方案。请删除此答案。正确的解决方案如上所述,请使用web UI生成的初学者工具包或从头开始制作您的knife.rb。@coderanger:谢谢!我想了解像这样使用刀子配置创建knife.rb和在文本编辑器中从头开始创建它之间的区别。它对系统有什么影响?您是否担心API用户和密钥?谢谢。因为这个命令已经被弃用了,而且确实没有什么用处。你可以自己填写这个模板。当命令现在只写文本文件时,没有理由使用它来迷惑人。@coderanger。问题是,我认为没有任何官方的Chef Ops文档表明该命令已被弃用,并采用其他方法。虽然基本上我同意你的看法(刀子的工作方式与Chef 2的文档记录不一样),但像我这样的人可能仍然会尝试使用它,因为Chef自己的文档说它仍然可以。我只是找到了一个使用它的方法。如果让命令失效是真正的选择,那么Chef Ops也需要在其文档中这样做。我在Chef的网站上还没有发现任何文件说刀子配置--initial已被弃用。这就是为什么我不在其主/节点/工作站配置中使用Chef的原因。