我们有一个测试环境,其中包括一个服务器,一个客户端和另一个客户端作为工作站。
我知道命令的意思
# knife cookbook site install apache2
但是这个命令会产生一个错误,因为我甚至不能使用食谱站点进行下载。当我下载时,
# knife cookbook site download apache2
这就出来了,
ERROR: Connection refused connecting to cookbooks.opscode.com:80 for /api/v1/cookbooks/apache2, retry 1/5
ERROR: Network Error: Connection refused - Connection refused connecting to cookbooks.opscode.com:80 for /api/v1/cookbooks/apache2, giving up
Check your knife configuration and network settings
如果你有什么可以解决这个问题,也请分享,但我的主要问题是知道如何手动安装食谱?不是从食谱网站来的?我尝试使用“下载”按钮从网站下载它,然后将tar.gz复制到工作站,上传到chef服务器,将食谱添加到节点的runlist食谱中,然后执行
# chef-client
在工作站上。这与安装它的方式相同吗?如果不是,有没有办法呢?
谢谢。
发布于 2013-02-26 03:44:55
从chef-repo中上传食谱的一般步骤是:
使用chef-client
将
chef-repo/cookbooks
,然后使用knife cookbook upload -a
或knife cookbook upload [COOKBOOKS...]
这看起来和你做的很吻合。
使用knife cookbook site install COOKBOOK
“安装”一本食谱本质上与通过knife cookbook site download COOKBOOK
下载相同,只是下载命令将其保存为.tar.gz,而install命令将其提取并设置一个git子模块,以便您可以使其保持最新。(请参阅Managing Cookbooks With Knife - Cookbook Site。)
您可以使用Librarian或Berkshelf等工具从任何git存储库、Opscode社区站点或本地路径管理和下载食谱。这两个gem的工作方式与Bundler非常相似;它们生成一个Cheffile.lock
或Berksfile.lock
,帮助您将食谱锁定到某个版本或提交SHA。
编辑:我不太确定为什么knife cookbook site install/download
不能工作;它们不需要任何类型的身份验证。在knife cookbook site
docs中:“对于仅从食谱站点读取的命令(如下载、搜索、安装和列出),您不需要community.opscode.com上的帐户。对于写入站点的命令,您需要社区站点上的帐户。”
值得注意的是,knife cookbook site download
不同于knife cookbook download
。前者连接到community.opscode.com,而后者连接到您的chef服务器。你对哪一个有问题?
发布于 2013-03-01 10:59:12
运行chef-client与从站点安装食谱相同。
另外,我想出了一种修复这个错误的方法:
ERROR: Connection refused connecting to cookbooks.opscode.com:80 for /api/v1/cookbooks/apache2, retry 1/5
ERROR: Network Error: Connection refused - Connection refused connecting to cookbooks.opscode.com:80 for /api/v1/cookbooks/apache2, giving up
Check your knife configuration and network settings
我将http_proxy添加到/root/.chef/knife.rb中
现在,我可以成功地执行
# knife cookbook site list
但是,cookbook站点安装和下载生成了一个新的错误。
Downloading getting-started from the cookbooks site at version 0.4.0 to /home/chef/getting-started-0.4.0.tar.gz
ERROR: You authenticated successfully to http://10.43.109.236:4000 as my-chefuser but you are not authorized for this action
Response: #<Net::ReadAdapter:0x2b2afa986ac0>
我认为现在的问题是厨师服务器的权限,而不是食谱网站,因为我已经可以通过列出食谱来访问它。
发布于 2013-07-26 00:48:05
我也遇到了这个问题,使用厨师票证系统解决了下载和上传的问题:在knife.rb文件的末尾添加以下几行:
http_proxy "http://proxyserver:8080"
https_proxy "http://proxyserver:8080"
require 'rest-client'
RestClient.proxy = "http://proxyserver:8080"
显然,您需要替换proxyserver:8080
的地方需要替换为您的具体信息。
https://stackoverflow.com/questions/14974637
复制相似问题