我已经使用厨师设置了一个基本的基础设施。这包括本地厨师服务器(基于 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
. 我如何实现这一目标?
请帮忙!