用例——使用Mesosphere DCOS、JFrog Artifactory和Jenkins的容器化持续部署

文摘:

Roger Ignazio / Mesosphere, 2016年5月:本次演讲将介绍Mesosphere使用Jenkins和Artifactory提高开发人员敏捷性的方法。您将学习如何在单个DCOS集群上运行多个Jenkins实例,其中每个实例根据需要共享一个公共资源池,而不是静态分区。2022世界杯阿根廷预选赛赛程您还将学习如何使用Jenkins (Velocity选择的CI解决方案)构建、测试和部署容器化应用程序,以及我们如何与JFrog合作在DCOS上进行工件存储。

讨论转录:

那么,我们开始吧。我叫罗杰·伊格纳齐奥。我是Mesosphere的技术主管,专门从事内部和客户的CI和CD工作。我也是Mesos在起作用。这是一本关于Apache Mesos项目和整个生态系统的书。所以它早于DCOS的整个想法,你知道,Mesosphere在太空中所做的一些工作,但它也触及了他们的很多工作。

然后,这让我想到了我们一直在做的一些工作,JFrog和Artifactory在DCOS上的合作。你知道,只是一个回顾,你知道,我们看到,你知道,就像这四个主要的组件,你知道,持续交付,持续部署管道。你知道,显然Artifactory将在那里扮演重要角色。所以,你知道,我认为,你知道,他们有这个-这个Artifactory插件为Jenkins实际上允许我们在Jenkins管道中使用和发布工件。我们也把它包括在我们为DCOS设计的交钥匙Jenkins图像中。所有这些都是开源的,顺便说一下,你可以去GitHub,在Mesosphere Jenkins Mesos repo查看它。所有的东西都在那边。

但是我想你们大多数人可能都很熟悉这个来自JFrog网站的部署图。如果你考虑不同的组件,比如负载均衡器,Artifactory primary, Artifactory secondary,后端共享存储中的某种数据库。这些都是你可以在任何操作系统上做的事情,包括DCOS,但是它真正开始闪耀的地方是,如果你部署了人工HA,而你的主系统坏了,你就需要重新启动并运行。比如有很多后台维护任务发生在主实例上。当然,Artifactory将继续提供工件,您可以继续存储工件,但这是您作为系统管理员或开发人员需要实际去做的事情。使用DCOS,如果底层机器发生故障,或者实例崩溃,或者发生其他事情,Marathon将看到该故障,并将其重新安排到集群的其他地方。更新任何负载平衡器配置或任何东西。

这周早些时候,抱歉,是上周,我看到了JFrog的一个演示,我想总停机时间大约是三分钟左右。我的意思是,你知道,如果你收到一个Artifactory实例出现故障的呼叫,我认为我们大多数人都无法在三分钟内查看我们的邮件,更不用说真正解决问题了。

所以,就像我之前说的,使用DCOS包安装Artifactory,我们可以在DCOS上得到一个完整的Artifactory部署,就像我说的,它带有负载平衡器,数据库。当然,我认为还有NSF或者S3对Artifactory的要求。我知道在Mesosphere,我们正在努力开发存储故事。有状态服务目前并不是很好的用户体验。在一个以容器为中心的世界里。这是DCOS有能力做的事情,但是,你知道,有一些手动设置我们试图让它变得简单一点。

你知道,我们还在为产品润色人工智能HA包。但是,就像我说的,我上周看到了它的演示,希望我们能很快把它添加到Mesosphere宇宙中。

除此之外,回顾一下。你知道,我们已经有了一个交钥匙,Jenkins和Artifactory基础设施运行在DCOS之上。我们有一个容器编排器,用于实际将这些应用程序部署到生产中的一些机器上。或者分期,或者随便你怎么分组。应用的服务发现能够连接到它们自己就像次要设备连接到主要设备。我们有一个名为Mesos DNS的服务。它有点像控制台,它从Mesos集群获取信息,并通过DNS发布信息,以便服务可以找到彼此。我们还有一个负载平衡层,叫做Minuteman。就像我说的,它实际上是跨容器的负载平衡层。这也是完全分布的。

但是,你知道,如果你在寻找dcos,一个容器部署平台,作为一个应用程序开发人员,你想要有,你知道,某种自动化的,一流的经验,把你的应用程序从源代码到生产。把这些技术结合在一起,我们就能做到。

我们未来的一些工作只是一种将整个过程可视化的方法。你知道,能够插入到GitLab或GitHub Enterprise,你知道,看到你的存储库,看到你的代码,一直到生产,或者为授权用户提供访问权限,从DCOS web界面中进行部署。我们可以通过Artifactory, GitHub和Jenkins中提供的各种api来实现。等等。

好了,谢谢大家的聆听。如果大家有问题,我们还有一点提问时间。但是谢谢。

要么释放,要么死亡