我们主要(但不是唯一)赢得服务器。 最好是,我们可以启动操作系统,做些什么或什么都不做,以使其准备好接收命令(我们知道我们可能需要创build一个带有代理或ssh服务器的基本映像)。 需要能够安装mongodb,基于Java的应用程序,iisconfiguration等 哪个工具最强大的Windows支持/社区,(如果位置)最轻的初始化脚印? 操作答案:Powershell DSC。 这不是完整的故事(它不是所有的厨师/傀儡/等),但它满足了很多的需求,伟大的工程,并在胜利8.1 / 2012-R2 / 10开箱即用。 我们对此非常满意。
我想声明一个资源,我想多次运行通知,只有通知。 声明后,如何防止资源自行运行? 有没有办法检查是否有通知,所以我可以运行像“only_if:通知”?
knife ssh没有find我的节点。 我知道它应该能够,因为当我可以search他们时,我发现他们 # knife search node name:* 2 items found Node Name: web_01 … Node Name: admin … 但是,当我运行knife ssh (我将显示与“debugging”标志),我得到 # knife ssh "node:*" "uptime" -VV DEBUG: Using configuration from /root/.chef/knife.rb DEBUG: Signing the request as dev DEBUG: Sending HTTP Request via GET to ec2-xx-xx-xx-xx.compute-1.amazonaws.com:4000/search/node FATAL: No nodes returned from search! (是的主机是正确的,我只是审查了这个职位)。 我已经尝试修改QUERY参数并始终得到相同的结果。 […]
我可以按照logging的方式在angular色文件中设置属性,但是我无法访问我正在使用的食谱已经设置的属性。 例如在/roles/appserver.rb中: name "appserver" run_list(%w{ recipe[tomcat::default] }) default_attributes( :tomcat => { :java_options => "-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=" + node[:tomcat][:log_dir] } ) 我得到的是一个例外,说明厨师找不到'节点'方法/variables。 谢谢
我正在学习厨师,并且遇到了一些与我的团队合作的问题。 对于初学者来说,似乎应该创build一个厨师回购文件夹,您将在其中存储和修改用于pipe理节点的食谱。 我在各种项目上工作,他们每个人都已经在git源代码pipe理下。 理想情况下,我会保留一个厨师回购文件夹在我的每个项目与项目食谱对吗? 然而,在厨师回购文件夹中,我必须添加一个configuration文件夹(.chef)与我的刀的configuration和我的密钥validation,这些都是特定于我。 将.chef文件夹添加到gitignore文件是否正常? 我明白食谱上传到厨师服务器,然后部署。 其他团队如何在不重复大量工作的情况下从生产环境中分离出舞台? 我们有一个主分支是我们的生产分支,是我们的分支分支(接收不到5%的网站请求)和特色分支的开发分支。 大多数时候,稳定时的开发分支合并到主分支。 我们如何分别上传食谱,以便能够以单独的方式分配两种环境? 谢谢您的帮助!
我需要mysql来使用大页面来设置ulimit – 我在limits.conf中做了这个。 但是,limits.conf(pam_limits.so)不能读入init,只能读取“真实”的shell。 我之前通过在initscript start函数中添加一个“ulimit -l”来解决这个问题。 我需要某种可重复的方式来做到这一点,现在这些盒子是由厨师pipe理的,我们不想接pipe一个由RPM实际拥有的文件。
对于整个Netflix OSS堆栈和部署,我是相当新的。 作为我目前知识水平的背景,我的主要职责是作为一名前端应用工程师。 但是,我喜欢事物的操作方面,所以我正试图为新项目build立一个新的部署策略和工具。 我们的目标 超级简单的部署(我们想推一个button来更新生产) 自动部署到testing环境(使用Jenkins) 易于维护(我们有一个应用程序编写,不想花费我们的时间摆弄生产问题) 能够处理面向服务的架构(许多小应用程序,各种语言和数据存储) 足够的灵活性,以确保我们不必马上改变策略(我们已经试图摆脱RightScale) 如果这样做的话,我们可以多花点时间,这样可以在将来为我们节省一些麻烦。 所以,根据这些方面,我一直在听播客,看OPS对话,阅读大量的博客文章,并根据我们的目标和我已经成为最佳实践的一些东西,我们已经开始制定一个计划Asgard,将我们的包装卷成一个jar子,然后把它卷成一个AMI。 我们把这一切都计划好了,并且喜欢使用Chef服务器和实时聚合实例的过程(由于我们的时间有限和厨师服务器工作stream程缺乏理解,我们觉得这很容易出错)。 然而,一位同事独自一人四处看了一下,觉得Elastic Beanstalk满足了我们的需求。 我已经研究过它,并用WAR文件和附加的RDS数据库创build一个testing环境。 事情似乎有效,我相信我们可以使用Jenkins通过AWS API自动部署到testing环境。 似乎很简单…也许太简单了。 我想知道的是,这是怎么回事? 如果Elastic Beanstalk如此简单而有效,那为什么不谈得更多呢? 我很难find关于这两种不同的部署策略的足够客观的观点和事实,所以我想我会问。 你使用Elastic Beanstalk吗? 如果是这样,为什么和什么因素导致这个决定? 你喜欢什么,不喜欢什么? 如果您不使用Elastic Beanstalk,但考虑到它,那么您使用的是什么,为什么不使用Elastic Beanstalk? 基于Elastic Beanstalk的SOA部署策略的优点和缺点是什么? 也就是说,Elastic Beanstalk能够与许多依赖于对方工作的小型应用程序协同工作吗?
如果我有一个模板被创build,我怎样才能确保该目录存在? 例如: template "#{node[:app][:deploy_to]}/#{node[:app][:name]}/shared/config/database.yml" do source 'database.yml.erb' owner node[:user][:username] group node[:user][:username] mode 0644 variables({ :environment => node[:app][:environment], :adapter => node[:database][:adapter], :database => node[:database][:name], :username => node[:database][:username], :password => node[:database][:password], :host => node[:database][:host] }) end 由于/var/www/example/shared/config不存在,因此database.yml将被复制到此目录中。 我在想如何木偶让你“确保”一个目录存在。
厨师文件是非常糟糕的。 而Google不帮助我。 任何人都可以指向我一个体面的文章或什么东西,可以帮助我开始? 我的具体问题是: 我如何让客户读取我的configuration? 厨师独奏似乎是最好的开始(我不想运行OpenID服务器或Merb) 我如何configurationApache服务Django? 我已经知道如何通过常规的服务器configuration来做到这一点,但我想一个例子,厨师食谱将是一个好的开始;
我即将开始一个新的项目,部分需要部署大约三个不同类别的许多相同的节点: 数据节点 ,它将运行MongoDB的分片实例。 应用程序节点 ,它将运行一个Ruby on Rails应用程序和一个较旧的ASP.NET MVC应用程序的实例。 处理节点 ,它将运行应用程序节点请求的作业。 所有节点都将在Ubuntu 10.04的实例上运行,不过它们将安装不同的软件包。 我对以前的项目有一些熟悉,尽pipe我不认为自己是专家。 为了做尽职调查,我一直在研究其他的可能性。 我们有许多内部人员是木偶使用者,他们鼓励我去看看。 不过,我在评估这两种select方面遇到了麻烦。 厨师和木偶分享许多相同的领域术语 – 包装 , 资源 , 属性等等,他们有一个共同的历史,源于对相同的问题采取不同的方法。 所以在某种意义上它们是非常相似的。 但是我发现的大部分比较信息,就像这篇文章 ,有点过时了。 如果你今天开始这个项目,你会问自己什么问题来决定是否应该使用Chef或Puppet进行configurationpipe理? (注意:我不想回答“我应该使用厨师还是木偶?”)