我已经使用 Chef 设置了基本的基础设施。这包括本地厨师服务器(基于 ubuntu)、工作站和基于 ubuntu 的服务器(用作节点)。请注意,整个基础设施都位于我办公室网络的防火墙后面。我已经为服务器访问互联网做了必要的代理设置。
所以这就是问题 - 当我尝试使用 - 引导节点时
knife bootstrap <node's ip> --sudo -x <username> -P <password> -N "<name>"
我收到以下错误
<node's ip> --2014-02-19 10:47:10-- https://www.opscode.com/chef/install.sh
<node's ip> Resolving www.opscode.com (www.opscode.com)... 184.106.28.91
<node's ip>1 Connecting to www.opscode.com (www.opscode.com)|184.106.28.91|:443... failed:Connection refused.
<node's ip> bash: line 83: chef-client: command not found
我无法找到解决方案。然而我遇到了knife[:bootstrap_proxy] = "http://username:password@proxyIP:port/"
可添加的设置knife.rb
。我这样做了(通过输入我的办公室代理详细信息),然后引导期间的连接成功,并且厨师客户端已下载到节点上。但是,此设置仅定义节点应使用的代理。所以,这导致了http_proxy = "http://username:password@proxyIP:port/"
被设置在client.rb
。但是因为我已经在服务器中进行了所有代理设置,所以厨师客户端无法启动。所以我手动删除了http_proxy and https_proxy
设置来自client.rb
并运行命令chef-client
然后就成功了。
我有两个问题 -
1)为什么knife[:bootstrap_proxy] = "http://username:password@proxyIP:port/"
工作?因为它只定义了节点应该使用的代理。
2)此外,该节点的所有代理设置都已完成。我不想在中进行任何代理设置client.rb
。我该如何实现这一目标?
请帮忙!
当涉及到你的client.rb
我建议调查一下https://github.com/opscode-cookbooks/chef-client https://github.com/opscode-cookbooks/chef-client
这是一个包装脚本client.rb
(s).
不确定你的knife[:bootstrap_proxy]
尽管。理想情况下,那本食谱应该能解决这个问题。如果你仍然陷入困境,你可以运行chef-client -VV
and knife -VV
看看它到底在做什么。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)