BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Netflix开源持续交付平台Spinnaker

| 作者 金灵杰 关注 5 他的粉丝 发布于 2015年11月19日. 估计阅读时间: 3 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

日前,Netflix开源了他们的持续交付平台Spinnaker。Spinnaker是一个持续交付平台,它定位于将产品快速且持续的部署到多种云平台上。

6年前,Netflix率先将服务部署到了AWS上,为此,他们开发了一系列工具,其中一个基于AWS的自动部署平台:Asgard。1年前,Netflix开始了Spinnaker,以实现内部的端到端持续交付。作为Asgard的替代,该项目期望重建一个持续交付平台,能够实现

  • 通过灵活和可配置的管道实现可重复的自动部署
  • 提供一个所有环境的全局视图,一个应用程序可以看见自己的在所属管道中的状态
  • 通过一致且可靠的API,提供可编程配置
  • 易于配置、维护和扩展
  • 兼容Asgard特性

同时,Spinnaker作为云平台部署工具,Spinnaker团队和Google、微软、Pivotal等公司合作,致力于提供在多种平台上实现开箱即用的集群管理和部署功能。目前,Spinnaker可以部署管理AWS和Google云平台(GCP),针对Azure等平台的支持也在进行中。

重要通知:接下来InfoQ将会选择性地将部分优秀内容首发在微信公众号中,欢迎关注InfoQ微信公众号第一时间阅读精品内容。

Spinnaker主要包含2块内容,集群管理和部署管理。

集群管理功能,主要用于管理云上的资源。集群管理将云上资源做了逻辑划分:

  • 机器组:机器组是Spinnaker管理资源的单位。机器组标识了机器实例,并且关联了一个负载均衡器和安全组。每个机器组都拥有独立的配置信息(如机器帐号等);
  • 安全组:安全组定义了网络访问权限,也就是一般意义上的一组防火墙规则;
  • 负载均衡器:负载均衡器用于将网络流量重定向到机器组中的机器实例,负载均衡器还可以指定一系列规则,用于对机器组中的机器实例做健康检查;
  • 集群:集群是由用户定义的,对机器组的逻辑分组;

部署管理功能用于创建一个持续交付流程。部署管理的核心是管道,在Spinnaker的定义中,管道由一系列的阶段(stages)组成。管道可以由Jenkins、定时器、其他管道或者人工触发。同时,管道可以配置参数和通知,可以在管道一些节点上发出消息。Spinnaker已经内置了一些阶段,如执行自定义脚本、触发Jenkins任务等。

Spinnaker的源码可以在GitHub上查看,参照文档即可从源码开始进行部署和试用。


感谢郭蕾对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群InfoQ好读者)。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT