Spinnaker入门笔记(1)

介绍

Spinnaker 是一个开源,多云持续交付平台,可帮助您快速而稳定地发布软件更改。Spinnaker 提供了两组核心的功能: 应用管理与应用程序部署。Spinnaker 应用程序对此概念进行了建模。应用程序、集群和服务器组是 Spinnaker 用来描述服务的关键概念。负载均衡器和防火墙描述了服务如何向用户公开。

Spinnaker 11 个微服务

  • Desk: 前端web页面 端口9000
  • Gate: API 网关,所有程序通过 gate 与 spinnaker 通信; 端口8084
  • Orca: 编排引擎, 定义管道或任务,并管理阶段和任务,协调其他Spinnaker服务,端口8083
  • Clouddriver: 云厂商适配器,负责对云厂商的变更资源调用, 端口7002
    • 适配阿里、亚马逊、微软、华为、K8s
  • Front50: 用于保存应用程序、管道、项目和通知的元数据,端口8080
  • Rosco: 为各种运营供应商生成不可变的VM镜像, 端口8087
  • Igor: 持续集成、系统集成,触发管道,端口8088
  • Echo: 消息通知,负责发送通知,端口8089
  • Fiat: 认证授权服务,端口7003
  • Kayenta: 自动化的金丝雀分析,端口8090
  • Halyard: Spinnaker 生命周期配置管理工具,端口8064

部署

比较复杂,参考:

https://github.com/zeyangli/spinnaker-cd-install

流水线配置部署

继承 Jenkins

1
2
3
4
5
6
7
8
9
10
11
hal config ci jenkins enable # 开启CI

## 配置Jenkins, 需要用到账号和密码
hal config ci jenkins master add my-jenkins-master-01 \
--address http://jenkins.idvops.site \
--username admin \
--password admin
## NOTE: 如果启用了SSO、gitlab or github 可以用tocken

## 启用 CSRF
hal config ci jenkins master edit my-jenkins-master-01 --csrf true