k8s专题[10.使用Spinnaker持续发布应用]

本节介绍如何使用spinnaker的持续发布k8s的应用

1.首先使用spinnaker创建一个nginxdemo 的应用,再在nginxdemo应用里面创建 Pipeline。进入nginxdemo 详情页面,点击 “PIPELINES”,目前是没有任何信息的,点击 “+ Create”,弹框中选择类型为 Pipeline,输入流程名称,这里我命名为 nginxdemo-pipe。因为第一次创建,下边 “Copy From” 选择没出来,后续在创建时,我们也可以通过 “Copy From” 方式选择已存在的 Pipeline,非常方便就复制了一个一样配置的流程。创建完毕后,就会出现详细配置 Pipeline State 的页面了

图1

2.配置 Configuration 项

刚开始这里只有一个 Configuration 选项,可以配置 Automated Triggers、Parameters、Notifications 等,这里说下 Automated Triggers 和 Parameters 这两个非常有用,我们可以将此视为 Pipeline 启动前的一些初始化配置,比如启动需要的参数配置、自动触发配置等,为后续各阶段提供必要的信息。
Automated Triggers 自动触发,它提供 7 种类型的触发方式:

  • CRON:调度触发,可以执行一个 cron 调度任务来定时任务触发该流程。
  • Git:当执行 Git push 操作时,触发该流程
  • Jenkins:监听 Jenkins 的某一个 Job
  • Travis:监听 Travis 的某一个 Job
  • Pipeline:监听另一个 Pipeline 执行
  • Pub/Sub:当接受到 pubsub 消息时触发
  • Docker Registry:当 image 更新时触发。

基本能满足我们日常持续集成或交付的需求,当然每一个类型都需要配置相应的参数,比如 Cron 类型,需要配置执行频率、启动时间等。下图我们选择Docker Registry作为触发类型

图2

3.下拉框可以选择私有仓库,选择ops/nginx的镜像

图3

4.增加阶段,我们直接增加一个发布的阶段。
图4

5.选择阶段的类型,我们选择deploy
图5

6.增加需要发布的服务器组,这里我们先增加之前定义的nginxdemo-test 服务器组
图6
图7

7.选择容器:选择ops/nginx的镜像,阶段类型:选择红/黑部署,新版本的服务器组起来后service会把请求转到新版本的后端,旧版本的disable,但是旧版本的服务器组还存在集群中,方便后续快速回滚的需求
图8
图9
图10

8.填写探针开发环境,测试环境,生产环境按照下面格式填写,更改容器端口和检测页面即可。
图11

9.手动触发一个发布流程
图12

10.选择发布容器镜像的版本
图13

11.点击run,开始发布新的版本
图14

12.部署完成
图15

13.查看服务器组,看到选择的镜像版本的服务已经启动
图16

# 推荐文章
  1.深刻理解Docker镜像大小
  2.k8s专题[1.k8s基础概念]
  3.k8s专题[10.使用Spinnaker持续发布应用]
  4.k8s专题[2.k8s设计原则]
  5.k8s专题[3.k8s基础组件]

评论


:D 一言句子获取中...