标签:class 访问 lan pip 组件 trigger 开源项目 配置 ring
1. 简介
1.1. 说明:
Spinnaker 是 Netflix 的开源项目,是一个持续交付平台,它定位于将产品快速且持续的部署到多种云平台上。Spinnaker 通过将发布和各个云平台解耦,来将部署流程流水线化,从而降低平台迁移或多云品台部署应用的复杂度,它本身内部支持 Google、AWS EC2、Microsoft Azure、Kubernetes和 OpenStack 等云平台,并且它可以无缝集成其他持续集成(CI)流程,如 git、Jenkins、Travis CI、Docker registry、cron 调度器等。简而言之,Spinnaker 是致力于提供在多种平台上实现开箱即用的集群管理和部署功能的平台。
1.2. 官方网站:
https://www.spinnaker.io
1.3. Ebook
https://www.spinnaker.io/ebook/#continuous-delivery-with-spinnaker
1.4. 参考文章
https://blog.csdn.net/aixiaoyang168/article/details/78717151
2. 架构
2.1. 微服务说明
组件名称 | 组件说明 | 端口 | |
Deck | the browser-based UI | 9000 | |
Gate | the API gateway. The Spinnaker UI and all api callers communicate with Spinnaker via Gate | 8084 | |
Orca | the orchestration engine. It handles all ad-hoc operations and pipelines. | 8083 | |
Clouddriver | responsible for all mutating calls to the cloud providers and for indexing/caching all deployed resources. | 7002 | |
Front50 | used to persist the metadata of applications, pipelines, projects and notifications. | 8080 | |
Rosco |
the bakery. It is used to produce machine images (for example GCE images, AWS AMIs, Azure VM images). It currently wraps packer, but will be expanded to support additional mechanisms for producing images. |
8087 | |
Igor | used to trigger pipelines via continuous integration jobs in systems like Jenkins and Travis CI, and it allows Jenkins/Travis stages to be used in pipelines. | 8088 | |
Echo |
Spinnaker’s eventing bus. It supports sending notifications (e.g. Slack, email, Hipchat, SMS), and acts on incoming webhooks from services like Github. |
8089 | |
Fiat |
Spinnaker’s authorization service. It is used to query a user’s access permissions for accounts, applications and service accounts. |
7003 | |
Kayenta | provides automated canary analysis for Spinnaker. | 8064 | |
Halyard |
Spinnaker’s configuration service. Halyard manages the lifecycle of each of the above services. It only interacts with these services during Spinnaker startup, updates, and rollbacks. |
8090 |
2.2. 系统依赖
2.3. 架构:集群管理和部署管理
集群管理主要用于管理云上的资源,它分为以下几个块:
部署管理功能用于创建一个持续交付流程,它可分为管道和阶段两大部分。
管道
部署管理的核心是管道,在Spinnaker的定义中,管道由一系列的阶段(stages)组成。管道可以人工触发,也可以配置为自动触发,比如由 Jenkins Job 完成时、Docker Images 上传到仓库时,CRON 定时器、其他管道中的某一阶段。同时,管道可以配置参数和通知,可以在管道一些阶段上执行时发送邮件消息。Spinnaker 已经内置了一些阶段,如执行自定义脚本、触发 Jenkins 任务等。
阶段
阶段在 Spinnaker 中,可以作为管道的一个自动构建模块的功能组成。我们可以随意在管道中定义各个阶段执行顺序。Spinnaker 提供了很多阶段供我们选择使用,比如执行发布(Deploy)、执行自定义脚本 (script)、触发 Jenkins 任务 (jenkins)等,功能很强大。
部署策略
Spinnaker 支持精细的部署策略,比如 红/黑(蓝/绿)部署,多阶段环境部署,滚动红/黑策略,canary 发布等。用户可以为每个环境使用不同部署策略,比如,测试环境可以使用红/黑策略,生产环境使用滚动红/黑策略,它封装好了必须的步骤,用户不需要复杂操作,就可以实现企业级上线。
【Linux】【Services】【SaaS】Spinnaker
标签:class 访问 lan pip 组件 trigger 开源项目 配置 ring
原文地址:https://www.cnblogs.com/demonzk/p/9378920.html