首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Chef服务器,安装不是来自cookbook站点的cookbook

Chef服务器,安装不是来自cookbook站点的cookbook
EN

Stack Overflow用户
提问于 2013-02-20 15:41:14
回答 3查看 13.8K关注 0票数 5

我们有一个测试环境,其中包括一个服务器,一个客户端和另一个客户端作为工作站。

我知道命令的意思

代码语言:javascript
运行
复制
# knife cookbook site install apache2

但是这个命令会产生一个错误,因为我甚至不能使用食谱站点进行下载。当我下载时,

代码语言:javascript
运行
复制
# knife cookbook site download apache2

这就出来了,

代码语言:javascript
运行
复制
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食谱中,然后执行

代码语言:javascript
运行
复制
# chef-client

在工作站上。这与安装它的方式相同吗?如果不是,有没有办法呢?

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-02-26 03:44:55

从chef-repo中上传食谱的一般步骤是:

使用chef-client

  1. 下载并解压到您的chef-repo/cookbooks,然后使用knife cookbook upload -aknife cookbook upload [COOKBOOKS...]
  2. run将其解压到您的厨师服务器

这看起来和你做的很吻合。

使用knife cookbook site install COOKBOOK“安装”一本食谱本质上与通过knife cookbook site download COOKBOOK下载相同,只是下载命令将其保存为.tar.gz,而install命令将其提取并设置一个git子模块,以便您可以使其保持最新。(请参阅Managing Cookbooks With Knife - Cookbook Site。)

您可以使用LibrarianBerkshelf等工具从任何git存储库、Opscode社区站点或本地路径管理和下载食谱。这两个gem的工作方式与Bundler非常相似;它们生成一个Cheffile.lockBerksfile.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服务器。你对哪一个有问题?

票数 8
EN

Stack Overflow用户

发布于 2013-03-01 10:59:12

运行chef-client与从站点安装食谱相同。

另外,我想出了一种修复这个错误的方法:

代码语言:javascript
运行
复制
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中

现在,我可以成功地执行

代码语言:javascript
运行
复制
# knife cookbook site list

但是,cookbook站点安装和下载生成了一个新的错误。

代码语言:javascript
运行
复制
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>

我认为现在的问题是厨师服务器的权限,而不是食谱网站,因为我已经可以通过列出食谱来访问它。

票数 0
EN

Stack Overflow用户

发布于 2013-07-26 00:48:05

我也遇到了这个问题,使用厨师票证系统解决了下载和上传的问题:在knife.rb文件的末尾添加以下几行:

代码语言:javascript
运行
复制
http_proxy                "http://proxyserver:8080"
https_proxy               "http://proxyserver:8080"

require 'rest-client'
RestClient.proxy = "http://proxyserver:8080"

显然,您需要替换proxyserver:8080的地方需要替换为您的具体信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14974637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档