Articles of 厨师

大厨部署开始服务并重新启动服务

厨师按顺序停止并开始服务,并想问不同的程序。 第1步:框架引导到jboss服务 bash "bootstrap application" do code <<-EOF ant bootstrap EOF end 第2步:然后启动jboss service "jboss" do action :start end 第3步:安装应用程序 bash "install application" do code <<-EOF ant install EOF end 在步骤2和3之间,ant安装返回错误,因为jboss尚未启动。 但在第二轮中成功。 显然第3步不知道如果JBoss已经开始。 厨师如何做到这一点?

厨师刀 – Windows

我试图与厨师引导Windows 2008 R2服务器,我收到此错误 :“CScript错误:执行Windows脚本宿主失败。(0x800A0007)”。 经过一番研究,我发现我必须安装“specific_install”gem,并使用git中的Knife-windows gem,但是当我试图用这个命令安装gem时 “gem specific_install -l https://github.com/opscode/knife-windows.git ” 我收到以下错误: “错误:执行gem时(NoMethodError)未定义的方法`构build'Gem :: Package:Module” 我在做什么? 先谢谢你

如何将远程pipe理工具(puppet或chef)与同步工具(例如rsync)结合使用将多个服务器的日志文件发送到中央服务器?

概要 我如何使用远程pipe理工具(puppet或chef)与同步工具(例如rsync)和调度程序(cron)结合将日志文件从多个服务器发送到中央服务器? 上下文 我们的系统pipe理员(正确)收紧了开发人员访问生产服务器的权限。 其中一个后果就是:在支持客户问题时,开发者尤其不能轻松访问日志文件。 目标:将文件发送到通用日志服务器 我想设置日志自动复制到中央“日志服务器”。 支持问题时,开发人员/支持人员可以读取“日志服务器”文件系统。 这是我们的文件系统结构的一个例子。 每个客户一个目录。 在此,每个应用程序一个目录。 每个应用程序有不同的子目录结构和日志文件名称。 Server A d:/ Instances/ CustomerFoo App 101/ logs server.log access.log App 201/ logs stdout.log jdbc.log timing.log CustomerBar/ App 101/ …. App 301/ logs/ monitor.log 这些将会到一个像这样的结构的中央服务器。 (客户名称在企业内是唯一的,所以我们不会有任何碰撞) LogServer d:/ logfiles/ CustomerFoo App 101/ logs/ App 201/ logs/ … CustomerBar/ App 101/ …. App 301/ […]

厨师gem_package不使用二进制path

我正尝试在配方中安装一个windows server 2008r2上的gem“sensu_plugin”和“mixlib-shellout”。 在这最后一个,我有以下代码: %w{ sensu-plugin mixlib-shellout }.each do |gem_plugin| gem_package gem_plugin do gem_binary("C:/opt/sensu/embedded/bin/gem") options("–no-rdoc –no-ri") action :install end end 然而,当我的机器上运行食谱,我收到错误“错误:执行gem…(Errno :: ENOENT)没有这样的文件或目录 – U:/”。 我发现,每当我尝试使用位于chef-client目录(C:\ opscode \ chef \ embedded \ bin \ gem)中的gem二进制文件安装gem包时,就会引发最后一个错误。 问题是,我希望用来安装gem包的gem实际上位于C:/ opt / sensu / embedded / bin / gem,我已经在gem_binary选项中声明了它。 最后,它看起来像厨师忽略了gem_binary选项,并试图从它自己的gem二进制文件安装它。 我设法让它在只有1个磁盘(C:/)的testing环境中工作,并在那里工作。 但是,只要我进入一个安装磁盘(U:和更多)的实时环境,我得到了以前的错误。 难道这是因为厨师正在寻找可能在U盘的用户家吗? 我看不出这个configuration有什么问题。 gem_binary是否真的指出要使用哪个二进制文件?

厨师,系统库安装nokogiri在Centos6.5上失败

我正在尝试在Centos 6.5上修复需要gems nokogiri和savon的配方。 由于简单 chef_gem 'nokogiri' require 'nokogiri' chef_gem 'savon' require 'savon' 不行(厨师说补丁libxml2 2.8.0返回错误),(编辑:这里是完整的错误http://pastebin.com/mUZVyZ4H ) 我决定尝试与系统库安装nokogiri。 如果我直接在服务器上执行一切工作正常: [vagrant@localhost ~]$ sudo /opt/chef/embedded/bin/gem install nokogiri -q –no-rdoc –no-ri -v "1.6.2.1" — –use-system-libraries Building native extensions. This could take a while… Building nokogiri using system libraries. Successfully installed mini_portile-0.6.0 Successfully installed nokogiri-1.6.2.1 2 gems installed 但是,如果我使用命令通过Chef运行安装: chef_gem "nokogiri" […]

厨师 – 处理改变networking接口的资源

我正在使用厨师将openvpn应用程序以桥接模式部署到ubuntu节点。 在我的食谱中,我正在使用bash资源来创buildvpn工作所必需的桥梁。 不幸的是,网桥改变了节点的IP地址,因此厨师未能完成(前一个IP机器变得不可用)。 你会如何对待这样的问题?

与docker工人的厨师独奏:防止在构build期间启动服务

我正在尝试在Docker容器中重复使用现有的食谱,但大多数食谱将在厨师客户端运行期间(例如Tomcat,apache2)启动服务。 由于厨师独奏在图像创build过程中运行,厨师运行只会失败。 如何防止食谱启动服务? 我正在使用下面的Dockerfile FROM jr42/chef-solo-centos ADD chef /chef RUN cd /chef && /opt/chef/embedded/bin/berks vendor /chef/cookbooks RUN chef-solo -N mynode -c /chef/solo.rb -j /chef/solo.json 在我的runbook(solo.json)的Tomcat: { "tomcat": { "base_version": "" }, "run_list": [ "recipe[tomcat]" ] } 和Berksfile: source "https://supermarket.getchef.com" metadata cookbook 'tomcat'

分配厨师angular色到图层/实例

我正在尝试在OpsWorks中运行以下的Cookbook: https : //github.com/lusis/chef-logstash/ 遵循他们的文档,我必须将angular色分配给我的服务器来运行。 他们还举例说明了维基中的angular色。 但我坚持如何将这些angular色应用于OpsWorks设置中的整个图层的实例。 有人能告诉我如何做到这一点?

厨师说,食谱不存在的时候

在我的一个节点的运行列表中,我有“配方[logstash :: server]”。 当我在节点上运行chef-client时,会引发以下错误: 以下菜谱是客户端所需的,但不在服务器上:* logstash 当我运行刀菜谱列表,我看到logstash,当我运行刀cookbook上传logstash -o供应商/ cookbooks / cookbook上传成功。

从服务器恢复厨师节点configuration

有谁知道从开源厨师服务器检索厨师节点configuration? 我需要将由旧厨师服务器(云实例)pipe理的节点configuration移动到新的厨师服务器。 当我有node.json文件时,我知道如何将它们添加到新的主厨服务器上。 我只是想知道是否有一些地方的服务器的文件系统,我可以去检索他们? 提前致谢。