Articles of 厨师

获取具有特定angular色的节点名称

我如何获得具有特定angular色的节点列表? 它可以得到这样的东西: for node in `knife node list`; do [[ -n "`knife node show $node | grep $ROLE_NAME`" ]] && echo $node done 有没有办法做到这一点,而不用开刀打刀?

在`chef-client`中安装`mysql` gem?

我试图部署一个使用厨师的rails应用程序,为mysql cookbook创build一个数据库,它需要mysql gem。 mysql gem通过使用Ubuntu软件包在系统范围内安装,但是这不适用于从/opt/chef/embedded运行的chef-client 。 我曾尝试添加这个: chef_gem 'mysql' do action :nothing end.run_action(:install) 但是这需要安装libmysqlclient-dev Ubuntu软件包。 所以我也在前面加了这个: package 'libmysqlclient-dev' do action :nothing end.run_action(:install) 但是,这是在apt配方更新apt存储库之前完成的,因此安装libmysqlclient-dev失败。 这些“黑客”看起来很丑,我无法find一个在适当的时候运行apt-get update的方法。 有人可以帮助我find解决我的问题的正确(最厨师般的方式)(实际的问题是使用application食谱创build数据库)吗? 更新 我已经能够解决这个问题,作为一个丑陋的黑客…我仍然在寻找一个更好的解决scheme: execute "apt-get update" do ignore_failure true action :nothing end.run_action(:run) node.set['build_essential']['compiletime'] = true include_recipe "build-essential" %w{build-essential mysql-client libmysqlclient-dev}.each do |p| package p do action :nothing end.run_action(:install) end chef_gem […]

厨师:预安装软件包或从头开始安装(快速/不灵活/慢/灵活)

我很好奇,是预制二进制文件(安装软件包)和只使用厨师进行configurationpipe理的好策略。 理论上讲,当我们需要新的机器(stream量尖峰)时,应该加快初始化过程,特别是如果我们使用像AWS这样的云来创build我们自己的AMI(图像),同时在其他食谱工作.. 我期待着您对这个问题的看法,以及最佳实践,经验和想法!

在FreeBSD 10上使用knife bootstrap的问题

我相当肯定这与我的食谱无关,因为连接后立即发生以下情况: 0.0.0.0 Unmatched '. 0.0.0.0 distro=FreeBSD: Command not found. 0.0.0.0 distro: Undefined variable. 0.0.0.0 if: Expression Syntax. 0.0.0.0 then: Command not found. 0.0.0.0 PATH=/usr/sfw/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin: Command not found. 0.0.0.0 export: Command not found. 0.0.0.0 fi: Command not found. 0.0.0.0 fi: Command not found. 0.0.0.0 Badly placed ()'s. 0.0.0.0 Invalid null command. 0.0.0.0 then: Command not found. […]

厨师12.5自定义资源 – 访问食谱中的资源

我正在编写一个使用Chef 12.5中自定义资源的食谱。 我有一个使用模板资源的自定义资源,因此有一个通知重新加载关联的服务。 但是,相关的服务在主配方中进行pipe理。 目前这种方式失败了,因为它抱怨没有服务。 在以前的版本中,当使用LWRP时,这是由于使用use_inline_resources引起的,我相信你可以通过在LWRP中不包括这个函数来解决这个问题。 现在我不在自定义资源中包含此行,但行为存在。 有什么办法可以closures这种行为吗? 另外还有其他一些“包括”多种资源的服务的方式,所以我不必在许多地方有相同的代码?

厨师/木偶与多个configuration服务器

木偶或厨师是否支持复制的puppetmasterd / Chef服务器? 对我而言,这些工具似乎很令人惊讶,但这些工具会强制单点失败,但在他们的文档或Google中我一直没有find任何提及。 我知道Puppet和Chef可以在没有服务器的情况下运行(可能用git更新,如http://bitfieldconsulting.com/scaling-puppet-with-distributed-version-control中所述 ),但是这看起来像是第二代可能会失去一些监控能力。

傀儡或厨师的独立服务器资源有限

我有一个小的虚拟Linux服务器(500兆内存)。 我最终可能会得到一两个服务器,而不是更多。 我是一个开发人员,而不是系统pipe理员,所以我不知道涉及Linuxpipe理的最佳做法。 我知道我不想安装一台机器,发出一堆命令来设置用户,安装软件包,更改环境variables,只是在我的机器崩溃时丢失所有这些命令。 我宁愿将所有这些信息与我的代码一起保存在源代码库中。 明显的解决scheme是傀儡或厨师,但我不运行一组机器。 我想要一个声明的方式来设置用户,安装软件包等,但不想设置SSL证书,主服务器等(坦率地说,我不能,我的机器很便宜,只有很less的内存)。 有没有更好的解决scheme的立式机器? 我希望能够快速使用这个解决scheme来重新创build我的机器(在亚马逊,林德,rackspace或我的倒台)。

厨师刀上传食谱:方法不允许

我在CentOS 6盒子上运行Chef服务器11。 从Opscode通过RPM安装。 我在Windows 7盒子上安装了我的工作站。 我可以运行通常的knife client list并获得响应,所以我相信我的服务器工作正常。 我在工作站上创build了一个本地Git仓库,添加了启动菜谱 ,并将其提交到本地仓库(在工作站上的本地磁盘上)。 但是,当我尝试上传食谱时, knife cookbook upload getting-started Uploading getting-started [0.4.0] ERROR: Method Not Allowed Response: “响应”是空的。 当我尝试一个knife cookbook list ,我找回空集。 我想这是因为它是从没有烹饪书的服务器获取的。 我在旧的Opscode维基上看到这个post ,这让我相信我正在编辑_default环境。 所以创build了一个开发环境,确认它存在,并且: knife cookbook upload getting-started -E Dev 同样的结果。 我最后的手段是指定一个pipe理员帐户: knife cookbook upload getting-started -E Dev -u admin 同样的结果。 为了成功上传这本食谱,我需要做什么?

我可以与主厨一起pipe理Amazon RDS实例吗? 盐? 木偶? Ansible?

从表面上看,我需要能够在目标节点上安装一些软件守护进程,以使这些工作起作用。 如果我不能这样做(例如Amazon RDS实例),我有什么select? 同样,Ansible似乎基于SSH。 这可以用来configurationRDS吗? 感谢您的反馈 – 讨论导致我在这里更有针对性的问题: https : //serverfault.com/questions/588237/whats-a-good-cm-tool-for-managing-a-cloud-cluster-由分集资源交stream

如何使用厨师刀Bootstrap的SSH网关

我刚开始与厨师开始,并在私人networking中有几个节点,我需要先进入一个网关节点访问。 目前,我在网关和目的节点上都使用纯密码validation。 CLIENT> $ ssh GATEWAY GATEWAY> $ ssh DESTINATION DESTINATION> $ 当运行命令knife bootstrap destination.node –ssh-gateway="gateway.node"其中* .node被主机的完整域replace。 系统提示input密码,但无法访问。 Bootstrapping Chef on destination.node Failed to authenticate %USER% – trying password auth Enter your password: ERROR: Net::SSH::AuthenticationFailed: %USER% 也许我不是很了解刀网关选项的正确用法? 我也尝试提供–ssh-user和–ssh-password选项,但没有运气。