【发布时间】:2015-07-27 09:10:00
【问题描述】:
我正在尝试设置 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) 上。已经进行了几次尝试,总是使用干净的机器,并且总是得到相同的结果,即使使用稍旧的 chef-server 版本(我相信是 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:
我刚刚将创建的用户证书和 chef nginx 证书导入到提到的刀较旧的安装中,并且我能够成功运行knife client list。因此,本地版本似乎将 /organizations/orgname/nodes 包含在请求中。为什么空白客户端上缺少它?
【问题讨论】:
标签: chef-infra knife