从Rails应用程序中,我需要在Amazon AWS上configuration和pipe理服务器。 前段时间我一直在使用厨师独奏和刀做这个,但从命令行。 这将有可能从代码内部做同样的事情吗? 任何指针如何启动?
用例如下: 用户在他的Linux系统中有一个Flat File 。 该文件是一个人类可读/可编辑的文件,其中包含在系统上运行的应用程序的所有必需组件的configuration。 例如,用户具有“A”,“B”和“C”组件的应用程序“APP”。 而“平面文件”则包含“A”,“B”和“C”的configuration,如下所示: A Parameter1: value1 Parameter2: value2 Parameter3: value3 .. .. B Parameter1: value1 Parameter2: value2 Parameter3: value3 .. .. C Parameter1: value1 Parameter2: value2 Parameter3: value3 .. .. 用户需要configuration实用程序来读取此文件,并在应用程序启动时使用与组件关联的REST API来适当地configuration组件A,B和C. 像Chef这样的configuration工具能否做到这一点? 否则,推荐任何其他能够做到这一点的开源工具。
在Ansible中,我可以使用shell脚本来提供要configuration的主机列表,在Chef中,我知道Chef Server提供了类似的function。 不过,我不想安装一个沉重的服务器来提供这个function,是否有任何解决方法,所以我可以在像Ansible这样的厨师做类似的事情?
我使用Vagrant和Chef-solo来创build开发环境虚拟机。 问题是,Debian Chef包依赖于某个版本的RubyGems来运行,但是我希望VM有一个更新的从源代码安装的RubyGems版本。 在启动Chef-solo 之前 ,Vagrant有办法运行一些脚本/命令吗? 这样我就可以在Chef-solo运行之前和之后切换rubygems版本之间的符号链接。
我正在尝试写一个Vagrantfile在CentOS 6.4映像上安装nginx。 在我的Vagrantfile中,我有(ip的编辑): config.vm.provision :shell, :inline => "echo \"export http_proxy=http://10.0.0.1:3128\; export https_proxy=https://10.0.0.1:3128\" >> /etc/profile" config.vm.provision :shell, :inline => "echo \"export HTTP_PROXY=http://10.0.0.1:3128\; export HTTPS_PROXY=https://10.0.0.1:3128\" >> /etc/profile" config.vm.provision :shell, :inline => "echo \"proxy=http://10.0.0.1:3128\" >> /etc/yum.conf" config.vm.provision "chef_solo" do |chef| chef.add_recipe "nginx" chef.json = { "http_proxy" => "http://10.0.0.1:3128", "https_proxy" => "https://10.0.0.1:3128", "nginx" => { "install_method" => "package" } […]
我正在使用厨师在我的基础设施中configurationVPN服务器。 下面是用于安装libreswan-ipsec vpn的几个组件的libreswan-ipsec 。 %w( libnss3-dev libnspr4-dev pkg-config libpam0g-dev libcap-ng-dev libcap-ng-utils libselinux1-dev libcurl4-nss-dev libgmp3-dev flex bison gcc make libunbound-dev libnss3-tools wget vim traceroute ).each do |pkg| package pkg do action :install end end 现在我需要添加更多的组件到这个列表中进行安装,但是我需要在安装完所有上面的组件后安装它们。 以下是这两个安装包的代码。 %w( libevent-dev xmlto ).each do |pkg| package pkg do action :install end end 但是,当我运行食谱时,它们将所有这些东西放在一起,并在Debian软件包pipe理器上安装和拆分服务器上的东西。 基本上我想要的是修复安装stream程的原因,当我手动安装这些包,它的工作原理。 我怎么能做到这一点? 以下是现在破坏了的包pipe理器的日志。 [2016-12-26T15:59:11+00:00] INFO: Starting […]
在Ubuntu 10.04上执行chef-solo命令时,我遇到了一个奇怪的问题。 如果我执行这个(作为根): # chef-solo -c /opt/mycorp/mycorp-chef-code/config/solo.rb -j /opt/mycorp/mycorp-chef-code/config/run_mycorp-config.json [Tue, 16 Nov 2010 15:28:49 +0100] INFO: Setting the run_list to ["recipe[mycorp-config]"] from JSON [Tue, 16 Nov 2010 15:28:49 +0100] INFO: Starting Chef Run (Version 0.9.12) [Tue, 16 Nov 2010 15:28:49 +0100] INFO: Chef Run complete in 0.47172 seconds [Tue, 16 Nov 2010 15:28:49 +0100] INFO: […]
我试图在亚马逊Linux 64位实例上引导厨师服务器,但由于某些原因厨师独奏会给出一些错误。 看来,厨师不能确定亚马逊Linux实际上是一个RedHat派生和使用红帽configuration。 有没有简单的解决方法呢? 这是崩溃转储: [Fri, 02 Mar 2012 07:52:44 +0000] INFO: Start handlers complete. [Fri, 02 Mar 2012 07:52:44 +0000] ERROR: Running exception handlers [Fri, 02 Mar 2012 07:52:44 +0000] ERROR: Exception handlers complete [Fri, 02 Mar 2012 07:52:44 +0000] FATAL: Stacktrace dumped to /tmp/chef-solo/chef-stacktrace.out [Fri, 02 Mar 2012 07:52:44 +0000] FATAL: Errno::ENOENT: No […]
有没有办法让gs git pull而不是git clone来部署opsworks?
是否有可能从刀命令(SSH)属性, 例如 knife ssh 'role:server' 'sudo chef-client' <– how to pass attributes to remote?