我正在使用fnichol的chef-rvm cookbook通过rvm :: system配方通过RVM执行系统范围的Ruby安装。 即在我的运行列表中,我有(没有额外的属性设置): recipe[rvm::system] 在我做了我的Ubuntu服务器之后,一切正常的用户都能正常工作。 即 $ ruby -v ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux] 但是,rvmsudo似乎并不能保留RVM环境,或者将其正确地传递给sudo。 我得到以下错误: $ rvmsudo ruby -v sudo: ruby: command not found 如何使用厨师来configuration我的环境,以便rvmsudo可以访问ruby / gem环境?
我正在查看http://docs.opscode.com/chef/resources.html#execute并在“使用模板执行命令”中的“执行”下面,他们使用围绕参数的括号调用模板。 之前只有less数几个声明,他们称之为执行sans括号。 对于文档的其余部分,模板被调用时没有括号。 是否有这种不一致的原因? execute "forward_ipv4" do command "echo > /proc/…/ipv4/ip_forward" action :nothing end template( "/etc/file_name.conf" ) do source "routing/file_name.conf.erb" notifies :run, 'execute[forward_ipv4]', :delayed end
我计划使用Opscode Chef部署11个节点的基础设施,提供高可用性Web应用程序。 我想分散在数据中心的可用性的节点,为此,我想rrDNS解决了两个负载平衡器之一,每个在一个单独的数据中心与自己的集群节点(提供应用程序与nginx,memcached和狮身人面像) 。 第三个DC将被用于MySQL主/从布置,因为我已经读取复制在WAN上performance不佳。 该解决scheme不会导致单点故障。 我的问题涉及这些节点应该如何连接到另一个? 所有这些服务传输的信息通常都要求通过短的LAN连接,因此不提供内置的安全性,这意味着我需要在链接本身上提供这些信息。 我正在考虑用SOCKS隧道或VPN做这个。 后者会增加节点本身的安全性,因为这样他们就不需要在他们的Internet接口上公开多个服务,而只是公开说OpenVPN的一个实例。 对于在这种基础设施中提供节点之间的链接的解决scheme有什么想法?
我有一个主厨rbenv食谱问题。 一旦我开始引导服务器,它给了我一个错误: could not find user recipe for cookbook rbenv 但食谱是在食谱文件夹。 即使我在angular色中定义配方,也无法使其工作。 recipe rbenv recipe rbenv::user 这是我如何尝试安装用户ruby的angular色: :rbenv => { :user_rubies => ['1.9.3-p392'], :global => '1.9.3-p392', :user_installs => [ { :user => 'rubyuser', :global => '1.9.3-p392', :rubies => ['1.9.3-p392'], :gems => { '1.9.3-p392' => [ { :name => 'bundler' }, { :name => 'capistrano' }, […]
在厨师10中,我有许多设置自定义节点属性的angular色 "appname": "my_rails_app" 该属性然后用于在包装食谱中加载应用程序特定的variables。 例如,每个Rails应用程序都有不同的variables和variables数量。 app = Chef::EncryptedDataBagItem.load('deploy', node.appname) 在厨师11我的运行失败,因为'node.appname'没有设置,直到成功的厨师运行。 这意味着服务器的创build已经成为一个两步骤的过程 – 启动基础angular色,然后引导包装食谱。 我明白为什么这个行为改变了,但我很好奇如何解决这个问题,而不用重写我的食谱,仍然坚持干。 UPDATE 感谢这很有趣,但我不确定这是否有效。 例如,也取决于appname的通用部署食谱包含在my_rails_app配方中。 所以跑步看起来像 angular色 – 在哪里设置属性 "appname": "my_rails_app" 应用程序包装食谱 – 加载variables include_recipe "deploy" app = Chef::EncryptedDataBagItem.load('deploy', node.appname) 部署食谱 – 加载SSH密钥 app = Chef::EncryptedDataBagItem.load('deploy', node.appname) 部署食谱杀死了厨师跑。
我有5个节点,他们都有一个共同的设置烹饪书。 现在我想在这个常见的食谱中添加另一个任务,在所有节点上为我configurationSQL服务器。 有没有一种方法/命令来手动触发所有客户端的变化? 我使用azure色的虚拟机。 所有节点都是Windows Server 2012机器。 我可以做一个 knife winrm machine-name chef-client -m -x username -P password 在所有的机器上,但我相信应该有一个更好的方式来做到这一点。 我是新来的厨师,所以我可能会在这里错过一个非常基本的命令。
我对厨师很新,现在想弄清楚为什么以下两个错误阻止了我成功安装。 Recipe: private-chef::redis_lb * template[/var/opt/opscode/redis_lb/etc/redis.conf] action create (up to date) * template[/etc/opscode/logrotate.d/redis_lb] action create (up to date) * ruby_block[set_lb_redis_values] action create ================================================================================ Error executing action `create` on resource 'ruby_block[set_lb_redis_values]' ================================================================================ Redis::CannotConnectError ————————- Error connecting to Redis on 127.0.0.1:16379 (ECONNREFUSED) 还有第二个错误: Recipe: private-chef::partybus * ruby_block[migration-level file sanity check] action run ================================================================================ Error executing action `run` on […]
如果我运行以下: chef-client –force-formatter –logfile STDOUT 2>&1 然后控制它在运行中(或遇到任何forms的错误)我看到这个不错的错误信息: [2014-09-12T00:00:30-04:00] FATAL: SIGINT received, stopping ================================================================================ Recipe Compile Error in /var/cache/chef/cookbooks/users/recipes/fen.rb ================================================================================ SystemExit ———- exit Cookbook Trace: ————— /var/cache/chef/cookbooks/users/recipes/default.rb:11:in “' /var/cache/chef/cookbooks/users/recipes/default.rb:11:in `from_file' /var/cache/chef/cookbooks/users/recipes/fen.rb:15:in `from_file' Relevant File Content: ———————- /var/cache/chef/cookbooks/users/recipes/default.rb: etc… [2014-09-12T00:00:30-04:00] ERROR: Running exception handlers [2014-09-12T00:00:30-04:00] ERROR: Exception handlers complete [2014-09-12T00:00:30-04:00] FATAL: Stacktrace dumped to /var/cache/chef/chef-stacktrace.out Chef Client […]
有没有办法让gs git pull而不是git clone来部署opsworks?
Ohai, 有没有办法在AWS OpsWorks上为厨师使用LWRP? 我将如何执行这个: nfs_export "/exports" do network '10.0.0.0/8' writeable false sync true options ['no_root_squash'] end 这是来自以下的食谱: https://github.com/atomic-penguin/cookbook-nfs 我想添加一个导出,但是我不能那样做。 此外,我想创build一个rc.local条目来在节点上安装导出 – 厨师将是更好部署的理想select。