Articles of 厨师

从厨师食谱返回,没有例外

有没有办法从厨师食谱回来,没有例外? 说我有一个很长的配方。 我想添加一个ruby块开始,这将检查一些条件(例如目录存在),并停止处理这个配方(但继续执行run_list的其余部分),而不会引发exception,如果条件成功。 条件执行(only_if / not_if)不能解决问题,因为我必须将条件添加到配方中的每个资源调用中,而其中可能有很多。 在Opscode的wiki中有一个评论 ,评论者询问的是同样的答案。

厨师 – 多less抽象是聪明的?

我们有> 20个我们支持的个人应用程序。 大多数人每年看不到几次变化。 我们认为厨师会帮助我们。 我正在尝试在手动configuration和自动化之间find一个快乐的媒介。 我有两个很好的问题: 1)为我们的每个应用程序设置一个厨师服务器和食谱和angular色更聪明吗? 还是应该隔离每个项目,并为每个应用程序有一个厨师服务器? 2)(如果我们有多个厨师服务器)如​​何pipe理多个厨师服务器? 与另一个厨师服务器? 厨师独奏? 我看到许多文章记载如何设置厨师或覆盖function,但我还没有看到一个非常好的文件logging如何有人在大中型生产环境中使用厨师。 在这方面的一些提示可能会很好。 谢谢!

厨师错误“RuntimeError:请在存取元数据前保存服务器”

我正在尝试使用Chef在Rackspace Cloud上创build一个新的服务器,并且我一直在Chef中遇到这个错误: RuntimeError:在访问元数据之前请保存服务器 有任何想法吗?

是否值得做修订控制/傀儡/等等。 在一个单一的服务器设置?

阅读后有什么解决scheme允许使用服务器configuration文件的版本控制? ,我决定在我的服务器上安装etckeeper。 但是,这是一个单服务器设置,所以我只有一个物理机器,没有负载平衡器等,因为只有一个目的地路由stream量(加上我没有第二台机器做这项工作)。 我认为它仍然值得使用etckeeper,因为它跟踪本地机器。 我真正的问题是,是否值得“升级”到像木偶或厨师,因为我只有一个服务器。 如果是这样,为什么?

定制厨师食谱

我正尝试使用厨师来设置Munin,而且我不确定在哪里放置所需的自定义设置。 例如,Github上的文档说在munin_plugin 'plugin_name'中添加munin_plugin 'plugin_name' 。 虽然现在这样好,但似乎抑制了我从菜谱下载上游变更的能力,因为我不得不合并或重写我的更改。 什么是定制食谱的正确方法? 是吗? 修改foo / recipe / default.rb(或类似的文件,像这里的client.rb) 创build第二个食谱,说munin-custom并创build第二个自定义食谱 创build一个单一的个性化食谱,cookbooks / acme_co把这些变化?

从企业厨师迁移到开源厨师

我testing了企业厨师及其5个免费节点。 从那以后,我设置了开源的厨师,并且希望将三个节点从企业设置迁移到开源服务器。 除了更改client.rb文件中每个三个节点上的client.rb ,还有其他事情需要做什么才能成功切换这些节点? 还是有一个更简单的方法来处理这个?

无法在本地模式下解决厨师外部菜谱依赖关系

我正在做厨师的第一个食谱。 我创build了一个简单的食谱(default.rb): apt_repository "mariadb-repo" do uri "http://tedeco.fi.upm.es/mirror/mariadb/repo/10.1/ubuntu" distribution "trusty" components ["main"] arch "amd64" keyserver "keyserver.ubuntu.com" key "CBCB082A" end 我在metadata.rb的末尾添加了“depends'apt'”。 如果我运行: Starting Chef Client, version 12.5.1 resolving cookbooks for run list: ["common"] ================================================================================ Error Resolving Cookbooks for Run List: ================================================================================ Missing Cookbooks: —————— No such cookbook: apt Expanded Run List: —————— * common Running handlers: [2016-01-28T13:07:17+00:00] […]

新用户authorized_keys:如何设置一个不要求旧密码?

当我使用Chef在系统中创build用户时,我总是将其公钥上传到.ssh/authorized_keys 。 当用户第一次login时,他需要“更改”他的密码。 为此,使用了一个存根密码,所以他可以input“当前”密码。 这是现在的样子: ssh user@host WARNING: Your password has expired. You must change your password now and login again! Changing password for user. (current) UNIX password: Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Connection to host closed. 目前的密码是众所周知的(我会告诉你一个秘密: initial ),这是无用的。 我怎样才能避免第一次询问current密码? (更强调它,这是安全的,因为用户已经用他的公钥进行了validation)。

合并Chef属性数组

假设我有两本食谱,Foo和Bar。 在cookbook Foo中,attributes / default.rb包含以下内容: default[:test] = [{:baz => 'A', :qux => 'B'}] 在食谱B中,我想用另一个对象(即合并两个数组)来扩展该数组: {:baz => 'C', :qux => 'D'} ,理想情况下来自一个配方。 我试图把下面的酒吧的食谱,或属性文件: default[:test] = [{:baz => 'C', :qux => 'D'}] 期待两者合并,并导致: node[:test] == [{:baz => 'A', :qux => 'B'}, {:baz => 'C', :qux => 'D'}] 但是那不是发生了什么。 相反,在Chef-Solo运行期间,只有两个对象中的一个包含在数组中。 我也尝试与default.override和default.set具有相同的结果。 我怎样才能合并这两个数组? 谢谢。

刀引导窗口winrm / ssh超时

我正试图与厨师客户端引导Windows服务器。 我可以手动进入并安装Chef omnibus安装程序。 然后,我使用chef-client gem安装程序成功安装了厨师客户端的rubygem刀窗。 当我尝试执行 knife bootstrap windows winrm myserver.net 我收到超时消息,如: knife bootstrap windows winrm myserver.net Bootstrapping Chef on myserver.net Enter your password: ERROR: Network Error: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. […]