Chef Server为所有刀具和厨师 - 客户请求返回404

时间:2015-05-15 12:28:15

标签: chef knife

我正在尝试设置chef-server和chef-client,以便在Openstack上运行的虚拟机上自动部署软件包。

我按照https://docs.chef.io/install_server.html上的说明操作。该软件包的版本是chef-server 12.0.8,位于ubuntu 14.04服务器(chef-server-core_12.0.8-1_amd64.deb)上。已经进行了多次尝试,总是使用干净的机器,并且总是具有相同的结果,即使是稍微更老的厨师服务器版本(12.0.3,我相信)。用户被创建,组织被创建。我还通过提供的install.sh脚本(12.3.something)直接从厨师网站拉了厨师客户。

症状:

knife ssl check会返回成功,但是:

knife client list返回HTTP错误404:

错误:找不到您要查找的对象 ...

404 - 未找到

抱歉,我无法找到您要找的内容。

如果我直接从服务器运行它,或者从另一台机器运行它没关系(刀引导也失败,所以我手动安装)。服务器(FQDN:chef.cluster.internal)可从所有计算机解析,这是用于client.rb / knife.rb的server_url。自签名证书随处可用。

来自chef-server机器的Nginx访问日志:

192.168.10.85 - - [15/May/2015:12:16:56 +0000]  "GET /clients HTTP/1.1" 404 "0.001" 617 "-" "Chef Knife/12.3.0 (ruby-2.1.4-p265; ohai-8.3.0; x86_64-linux; +http://opscode.com)" "-" "-" "-" "12.3.0" "algorithm=sha1;version=1.0;" "ubuntu" "2015-05-15T12:16:56Z" "2jmj7l5rSw0yVb/vlWAYkK/YBwk=" 995
192.168.10.85 - - [15/May/2015:11:38:50 +0000]  "POST /nodes HTTP/1.1" 404 "0.001" 617 "-" "Chef Knife/12.3.0 (ruby-2.1.4-p265; ohai-8.3.0; x86_64-linux; +http://opscode.com)" "-" "-" "-" "12.3.0" "algorithm=sha1;version=1.0;" "ubuntu" "2015-05-15T11:38:50Z" "5FBeTmym0Tm05estESshBGJrumI=" 1047
192.168.10.86 - - [15/May/2015:11:37:36 +0000]  "POST /nodes HTTP/1.1" 404 "0.001" 617 "-" "Chef Knife/12.3.0 (ruby-2.1.4-p265; ohai-8.3.0; x86_64-linux; +http://opscode.com)" "-" "-" "-" "12.3.0" "algorithm=sha1;version=1.0;" "ubuntu" "2015-05-15T11:37:36Z" "5FBeTmym0Tm05estESshBGJrumI=" 1047
192.168.10.85 - - [15/May/2015:11:38:50 +0000]  "PUT /nodes/dns-server HTTP/1.1" 404 "0.001" 617 "-" "Chef Knife/12.3.0 (ruby-2.1.4-p265; ohai-8.3.0; x86_64-linux; +http://opscode.com)" "-" "-" "-" "12.3.0" "algorithm=sha1;version=1.0;" "ubuntu" "2015-05-15T11:38:50Z" "5FBeTmym0Tm05estESshBGJrumI=" 1057

......等等。因此,服务器确实收到了请求,而chef-client建议我的chef_server_url可能无效,这是不正确的。

所有其他设置都保留为默认值。奇怪的是,我有两三个月前的老厨师设置,没有问题。

我没有想法。任何帮助都将受到欢迎并受到高度赞赏。

编辑1: 我刚刚将创建的用户证书和厨师nginx证书导入到上述刀具旧版安装中,并且我已成功运行knife client list。因此,似乎本地版本包含/ organizations / orgname / nodes进入请求。为什么空白客户端上缺少这个?

1 个答案:

答案 0 :(得分:0)

好的,所以我可以通过在旧服务器上生成的完整chef_server_url重新配置服务器上的knife和chef-client来取得进展。