分享内容如下:
1.spinnaker介绍与安装踩过的坑。
2.spinnaker在kubernetes的持续部署。
3.线上容器服务的选择与多区容灾。
spinnaker介绍
Spinnaker 是 Netflix 的开源项目,是一个持续交付平台,它定位于将产品快速且持续的部署到多种云平台上。Spinnaker 有两个核心的功能集群管理和部署管理。Spinnaker 通过将发布和各个云平台解耦,来将部署流程流水线化,从而降低平台迁移或多云品台部署应用的复杂度,它本身内部支持 Google、AWS EC2、Microsoft Azure、Kubernetes和 OpenStack 等云平台,并且它可以无缝集成其他持续集成(CI)流程,如 git、Jenkins、Travis CI、Docker registry、cron 调度器等。
应用管理
spinnaker主要用于展示与管理你的云端资源.先要了解一些关键的概念:Applications, clusters, and server groups,通过Load balancers and firewalls 将服务展示给用户。官方给的结构如下:
Application
定义了集群中一组的cluster的集合,也包括了firewalls 与 load balancers,存储了服务所有的部署相关的的信息。
Server Group
定义了一些基础的源比如(VM image, Docker image),以及一些基础的配置信息,一旦部署后,在容器中对应Kubernetes pods的集合。
Cluster
Server Groups的有关联的集合。(Cluster中可以按照dev,prod的去创建不同的服务组),也可以理解为对于一个应用存在多个分支的情况。
Load Balancer
他在实例之间做负载均衡流量。您还可以为负载均衡器启用健康检查,灵活地定义健康标准并指定健康检查端点,有点类似于kubernetes中ingress。
Firewall
防火墙定义了网络流量访问,定义了一些访问的规则,如安全组等等。
页面预览
页面展示如下,还是比较精简的,可以在它的操作页面上看到项目以及应用的详细信息,还可以进行集群的伸缩,回滚,修改以及删除的操作。
下面介绍下spinnaker的部署管理功能
下图中,infrastructure左侧为PIPELINE的设计:主要讲两块内容:pipeline的创建,与部署的策略。
Pipeline
1、较强的 Pipeline 的能力:它的 Pipeline 可以复杂到无以复加,它还有很强的表达式功能(后续的操作中前面的参数均通过表达式获取)。
2、触发的方式&#