Articles of 厨师

与厨师一起部署应用程序

我对chef是新手,并计划在我们的生产环境中实施它。 我们正计划使用chef来维护系统状态/configuration以及应用程序部署。 在应用程序部署期间,部署不应该在群集中的所有主机上并行发生。 相反,部署必须以集合的forms发生,即在10个主机的集群中,首先2个主机必须被停止轮换,并且必须在那里完成发布,然后只有当发布成功完成时,才应该部署下一组主机。 这可以做chef吗?

厨师食谱安装清漆3.0在Ubuntu的清醒?

这是我的问题。 我想要Varnish 3.0,但是Lucid只有2.1包可用。 因此,使用Chef,我需要制作一个安assembly方,将varnish-cache.org存储库添加到apt源,并安装varnish-3.0软件包。 (我有select从源(右?),但如果我这样做,我不会得到/etc/init.d脚本(右?))。 所以我正在编写一个apt_install.rb配方,这可能会添加存储库: apt_repository "varnish-3.0" do uri "http://repo.varnish-cache.org/ubuntu/" repo_name "varnish-3.0" distribution "lucid" components ["varnish-3.0"] key "http://repo.varnish-cache.org/debian/GPG-key.txt" deb_src true action :add end 实际上,这在/etc/apt/sources.list.d中添加了一个varnish-3.0-source.list文件,它说: # Created by the Chef apt_repository LWRP deb http://repo.varnish-cache.org/ubuntu/ lucid main 然后我有 package "varnish" do source "http://repo.varnish-cache.org/ubuntu/" action :install end 继续在我的服务器上安装2.1版本,而不是3.0。 如果我在软件包块中指定了一个“版本”,我会得到“未find版本”。 我在这里错过了什么? 这一定很简单。

如何监控和logging厨师服务器和厨师客户端响应时间和networkingtrafiic?

我对厨师服务器和厨师厨师客户很新颖。 此外,厨师写的Ruby新手。 当Chef客户端正在运行并从中获取信息时,我有一个监视主厨服务器响应时间的性能的问题。 顺便说一句,我们的设置是1厨师服务器,1厨师客户端作为节点和1厨师客户端工作站(我们执行刀命令)。 目前,我们的日志输出信息只包含Chef客户端运行后经过的时间, [root@sg8tb08208 chef]# chef-client [2013-02-13T15:16:02+09:00] INFO: *** Chef 10.18.2 *** ……….更多日志信息………………然后 [2013-02-13T15:16:11+09:00] INFO: Chef Run complete in 8.782384 seconds 但是我们也需要logging或者至less知道服务器和它们之间的networking的响应时间。 这可能吗? 我已经在网上search了两天了,我甚至找不到有关它的文档。 甚至,已经有人尝试过。 甚至可以知道连接n个客户端/节点的Chef服务器的平均响应时间是多less。 您的帮助将非常感激。 谢谢! 更新:我试图使用revealcloud来监视服务器的性能。 这连接到CopperEgg。 我已经build立了api_key和代理,但我不断收到错误。 Error executing action `run` on resource 'script[revealcloud_install]' Expected process to exit with [0], but received '2' – !! Downloaded revealcloud binary does […]

厨师AWS cookbook可以查询EC2实例标签吗?

厨师拥有官方的AWS cookbook( https://github.com/opscode-cookbooks/aws ),可以启用AWS资源,以及更新资源标签。 可以在食谱中使用AWS Cookbook引入的自定义资源来读取AWS资源标签吗? 帮助文档中列出的唯一资源用于更新/创build/删除这些标签。 我的目标是能够根据特定的AWS标签来确定Chef环境。

在文件系统上的位置是厨师服务器上存储的食谱

我正在玩弄编排,把我的挑战设定为: build立一个厨师服务器 在由厨师服务器configuration之后构build负载节点 问题是,厨师服务器将需要build立与我需要configuration其余的环境所有相关的食谱。 因为git在厨师服务器上克隆大量东西似乎有点愚蠢,那么做一个菜谱上传到本地主机,我想知道如果cookbook在厨师服务器的文件系统上的某个简单的目录,所以可以简单地作为正在构build的实例的一部分下载单个回购,并将所有的食谱放到一个位置,然后厨师服务器将“托pipe”。 尽pipe在服务器上有一个配方(我可以在菜谱列表中看到),但是我已经在Ubuntu 12.04和主厨服务器v11.12.8上进行了高低search,但是还是无法find任何文件。 我开始认为它们是以其他格式存储的(也许是二进制的),这意味着我不能以我想要的方式达到我想要的。 有没有人遇到过的文件? 另外,我已经看到了这一点,这并没有真正的帮助: https : //stackoverflow.com/questions/15330678/where-are-the-cookbooks-stored-in-chef-server

在大规模的nagios自动化

我想知道你是否有经验或有关如何大规模build立nagios的任何想法。 以前我们使用nagios和nagiosql进行手动设置,对于less数几台服务器来说,这是相当舒服的。 最近服务器的数量已经改变,由nagiosql手动configuration变得不舒服。 我们使用厨师开始新的实例,我想知道是否有好的做法,一起使用厨师和nagios。 作为一种select,我们每次启动新实例时,只能使用nagios并重写nagios的configuration文件(基于服务器angular色)。 例如,情况可能是这样的,已经开始新的MySQL服务器,有一个专门的改写nagios设置文件的配方。 食谱可以从每个服务器获取厨师数据包的所有数据,并根据厨师angular色构build设置。

厨师节点和angular色的版本控制

在使用厨师时,版本控制节点和angular色是不是很好的做法? 如果是的话,有什么好办法呢? 它看起来像一个应该能够采取使用chef_server_backup.rb创build的JSON文件的树,只需将其检查到VC。 有更好的select吗? 更新 事实certificate,检查由chef_server_backup.rb生成的JSON 不是一个好的解决scheme。 问题是脚本产生的JSON不稳定。 每次哈希以不同的顺序出现,生成的文件与以前的版本完全不同…即使它们在parsing为JSON时意味着相同的东西。 我会更好的保存压缩tarballs。 (但是如果我可以通过sorting属性来规范化JSON文件…)

通过git仓库保持服务器上的厨师数据包同步

我最近开始使用厨师,我很喜欢configuration我的stream浪箱,并迅速产生新的机器。 现在我开始使用托pipe的厨师服务器。 使用Berkshelf来pipe理我的食谱是非常容易的,将所有需要的食谱分发到几个git存储库上。 但是现在我想要对数据库/环境/节点/angular色等进行整洁的pipe理。 我想保持这些configuration的json文件与主厨服务器同步。 唯一的方法就是使用knife upload 。 我不想写一堆脚本上传本地文件到我的厨师服务器。 那么有没有一个解决scheme可以让我轻松地将所有的东西上传到厨师服务器? 最好绑在一个git push(这样我所有的东西都会在厨师上更新,在我推git repo之后)

如何在AWS Opsworks上安装PHP 5.4

我试图让AWS 5.4在AWS Opsworks上运行。 当我添加“PHP应用程序服务器”层时,我得到以下描述“PHP应用程序服务器层是作为PHP应用程序服务器的实例的蓝图,默认安装PHP 5.3和Apache 2.2”。 我试图用“PHP应用服务器”进行一些修改。 我试过自定义厨师食谱(从git://github.com/evopix/opsworks-cookbooks.git):mod_php54_apache2“和”部署:: php54“ 在调查了日志和代码之后,我发现它仍然安装了5.3,并且在安装5.4时失败了。 我正在考虑的另一个select是,select“自定义图层”,或者创build自己的食谱,find其他人,或修改一个足够接近的。 我注意到AWS Chef的配方似乎在PHP 5.3上有很多硬编码的依赖,所以我不确定需要多less努力来修改它们的代码。 理想情况下,如果AWS即将发布诸如PHP 5.3或5.4和/或Apache或Nginx之类的选项,但我一直无法find有关他们将多久更新其配方的信息,那将是一件好事。 TL / DR:如何在AWS Opsworks上安装PHP 5.4。 有人有我可以使用的厨师食谱,或指针修改已经存在的厨师食谱。

运行“sudo chef-client”不会更新最新版本的食谱

情况如下: 我有一个配方,我一直在努力安装监控和安装自定义监控configuration。 这种configuration已经改变了过去几天。 我有一个厨师服务器和一个厨师节点。 服务器有我提到的配方的最新版本。 当我运行“sudo chef-client”时,它似乎运行正常的语句,但是当我检查monitconfiguration时,它是旧版本,而不是最新版本。 当我为我的厨师服务器使用Web UI时,我可以看到它有我的食谱的最新版本。 我怎么去debugging呢?