2

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

请帮忙!

4

1 回答 1

2

当涉及到你的client.rb我建议查看https://github.com/opscode-cookbooks/chef-client

client.rb它是(s)的包装脚本。

不确定你的knife[:bootstrap_proxy]。理想情况下,食谱应该照顾它。如果您仍然感到困惑,您可以运行chef-client -VVknife -VV查看它在做什么。

于 2014-02-19T20:40:06.083 回答