首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何对詹金斯进行适当的缩放?

如何对詹金斯进行适当的缩放?
EN

DevOps用户
提问于 2017-03-09 10:19:25
回答 4查看 9.8K关注 0票数 32

在我的项目中,我们有一个AWS服务器运行Jenkins Master +1 Jenkins从服务器(2个执行程序).我们需要更多

为了增强我们的建设能力,我们有三种选择:

  1. 扩展:使AWS实例更大,并添加更多的执行器。
  2. 扩展:使AWS实例更大,并添加另一个jenkins从进程。
  3. 扩展:使用jenkins从服务器创建另一个AWS实例,并将其连接到master

我们想做2,因为我们在一个大的组织,我们现在的詹金斯大师已经进入了他需要的每一个地方。备选方案3。“新服务器”是复杂的,因为它需要更多的官僚审批,这将需要数周时间。

所以我的问题是:

  • 备选案文2中是否有任何技术问题?也许每个詹金斯奴隶的执行者都不知道其他的奴隶执行者?
  • 一般来说,什么是最好的方法,规模詹金斯?扩大还是扩大?
EN

回答 4

DevOps用户

回答已采纳

发布于 2017-03-09 16:49:35

在同一台机器上运行多个jenkins奴隶没有根本的技术问题。实际上,在同一台机器上运行多个从机列举了几个很好的理由:

虽然正确使用执行器在很大程度上消除了在同一台机器上需要多个从实例的需要,但也有一些独特的用例需要考虑:

  • 您希望在配置的节点之间有更多的可配置性。假设您有一个节点集要尽可能多地使用,而另一个节点只在需要时使用。
  • 您可能有多个Jenkins主安装程序构建不同的东西,因此此配置将允许您在同一个框中拥有多个主服务器的奴隶。没错,有了詹金斯,你真的可以为两位大师服务。
  • 您可能希望利用启动/停止/替换虚拟机的简单性,也许与Jenkins插件(如Libvirt奴隶插件 )结合使用。
  • 您希望最大限度地增加您的硬件投资和利用率,同时最小化操作成本(例如,运行空闲奴隶的公用事业费用)。

一般说来,扩展是首选的,主要是因为扩展的能力通常受到可用物理资源的类型/大小的限制。

特别是为了增强构建能力,我建议对实际构建进行分析,以确定它如何使用机器资源,它的瓶颈在哪里,以及它会产生哪些可伸缩性限制,以揭示如果扩展甚至有帮助的话。

例如,我遇到的情况是,同一台机器上的2个并行构建的构建时间要比在同一台机器上连续执行(不重叠)的相同2个构建的组合构建时间长。在这种情况下,我甚至不会考虑扩大规模,因为这实际上会降低总体建设能力。

票数 14
EN

DevOps用户

发布于 2017-04-24 17:39:49

使用Kubernetes和Helm。

我建议使用Jenkins Helm图表。它安装了helm install stable/jenkins并自动缩放。

https://github.com/kubernetes/charts/tree/master/stable/jenkins

票数 7
EN

DevOps用户

发布于 2018-04-24 14:17:51

我认为你应该两者都不做;)

算是吧。我认为你需要更多的执行者,也许你的构建真的是资源密集型的?我会运行至少4,但我们运行6到8取决于作业。我喜欢把#的核心和执行者匹配起来。因此,您可能想要扩展节点,我认为我们为4-8执行程序运行了一个大的M4。

我也认为你应该扩大规模,但你应该这么聪明。Jenkins有一个自动扩展到AWS上插件,这取决于构建队列中的内容。基本上,你告诉它有多少个工作和等待多久,它站起来一个奴隶,并将工作发送给新的奴隶。您还可以设置奴隶的最大数量、最小数量等。

票数 4
EN
页面原文内容由DevOps提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://devops.stackexchange.com/questions/449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档