Questions tagged «foreman»

2
在AWS中使用Docker / Ansible与Ansible,Puppet和Foreman的不可变服务器模型吗?
我们遇到了一个有趣的争论,并且陷入了两个阵营。我对我们可能会缺少的想法或陷阱的任何特定问题感兴趣。确实,任何可以帮助我们做出决定或指出我们无法解释的事情的事物。我知道这会绕开“无意见”规则,但我希望这仍然是一个可以接受的问题。很抱歉,长度也有很多细微差别。 1)一方面(我-我并非毫无偏见)发现不可变服务器模型对于云系统非常有趣。为此,我们原型化了将基础架构的所有组件移入Docker的过程。我们的定制应用程序通过Jenkins直接构建到部署到本地Docker Registry的Docker映像中。然后,我们创建了大量Ansible角色和一本剧本,该剧本可以连接到空服务器,安装Docker,然后告诉Docker根据需要安装所有容器。几分钟后,整个应用程序及其所有支持的基础结构都已连接并正常工作-日志记录,监视,数据库创建/填充等。完成的机器是一个自包含的QA或开发环境,具有与之完全相同的副本。应用。我们的扩展计划是制造新的Playbook,以从基本受信任的AMI(可能是非常裸露的映像)构建新的AWS服务器,进行生产应用程序的滚动部署以处理配置管理和发布,并且通常不再编辑服务器-只是让他们重新。我不担心在实践中得到我所描述的内容-即使这是一个合理的模型。 2)另一个阵营希望使用Puppet进行配置管理,Ansible部署我们的自定义应用程序,这些应用程序是从我们的构建过程中生成的tarball,Foreman可以处理整个过程的触发和管理,而Katello可以做一些基础工作图像管理。发布将涉及Puppet根据需要更改配置,并通过一定数量的Foreman协调来部署更新的组件。如果我们需要新服务器,则将可以相当快地构建服务器,但目的不是使它们成为一次性使用的标准流程。尽管使用寿命长,但它更接近phoenix服务器模型。 因此,我的问题确实归结为:具有以上所述工具的不可变服务器模型实际上看起来像是现实的吗?我喜欢这样的想法,即我们的登台过程实际上可以实时构建应用程序的完整克隆,让质量检查人员锤打它,然后只需翻转数据库存储和一些DNS设置即可使其生效。 还是不变的服务器模型实际上会失败?我们在AWS和云环境方面都有丰富的经验,因此这并不是真正的问题-而是如何可靠地部署合理复杂的应用程序。由于我们经常发布,因此这特别有趣。 除了实际为我们创建EC2服务器外,Ansible可以完成大多数所需的工作,这并不难。我无法理解为什么您实际上完全需要这个模型中的Puppet / Foreman / Katello。在我所知道的任何工具中,Docker都比自定义部署脚本更加整洁和简单。当您不再担心必须就地配置它们并使用新配置再次构建它们时,Ansible似乎比Puppet使用起来简单得多。我是KISS负责人的粉丝-特别是在墨菲定律猖ramp的自动化领域。机械越少,IMO越好。 关于此方法的任何想法/意见或建议将不胜感激!

1
Mesos部署的最佳基础
我们目前正在设计新的Apache Mesos云设置的体系结构。目的是通过将不同的堆栈移动到同一体系结构来统一我们的系统。主要工作量是使用Apache Spark和我们的公司基础结构(包括Web服务器,邮件服务器等)进行大数据分析。 这个想法是在Docker容器中运行我们的Web服务,该容器在Mesos的可用调度程序之一(Marathon / Chronos,Aurora或Singularity)之上运行。因此,这将是第一个Mesos框架组。在它旁边,我们将具有Apache Spark框架和几个用于数据存储的数据库框架。这将是第二组Mesos框架。在并行运行所有细节进行测试之后,我们将选择细节。 但是,我们很难决定要在哪个基础上运行Mesos。理想情况下,我们希望使其尽可能靠近金属。我们还希望使用业务流程解决方案来确保Mesos&Framework守护程序始终在故障发生时运行/重新启动。我们正在考虑的选项如下: 1)在最小的OS中将Mesos和框架作为docker容器运行。在这方面,我们目前倾向于CoreOS和Fleet。 2)直接在Ubuntu / Debian服务器上运行Mesos和框架。对于此选项,我们倾向于工头和木偶。 至于问题,我们正在寻找一种解决方案,按照重要性从高到低: 配置最简单 是最容易维护和更新的 开销最少 我们以前没有使用CoreOS,但是似乎正在朝着这个方向努力。我遇到的一个大(主观)问题是,我们在Docker容器上运行Mesos,然后在Mesos上运行Docker容器。这似乎是“不洁的”,对我来说是错误的。这种考虑没有道理吗? 类似的想法涉及层之间的冗余。为了说明我的来历,我希望Mesos是仅在金属平台上运行的实际操作系统。看来,无论您使用什么基础,最终都会在多层体系结构(即CoreOS&Fleet&SystemD == Mesos&Marathon&Chronos)上获得相同的预期功能。这是不可避免的吗? 在记住我们的标准的同时,还有其他不错的选择可以在我们未能考虑的Mesos之下运行该层吗?

7
版本控制工头和木偶
我是第一次设置Foreman,但不确定如何将所有配置置于版本控制下。我知道我可以对在Puppet主机上安装的每个模块使用Git,但希望使用更全面的解决方案,该解决方案不仅包含模块,还包含与每个主机关联的类以及主机上设置的任何变量。任何建议以及相关的工作流程将不胜感激。如果相关的话,我确实将GitLab设置为站点上的中央Git服务器,并计划尽快设置诸如Jenkins的CI服务器。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.