天天看点

2018云栖Workshop应用发布实践手册(一)

本文主要用于演示如何在阿里云容器服务Kubernetes集群中部署一个应用,并将该应用通过Ingress对外暴露提供服务访问,以及如何通过分批发布和灰度发布来更新升级应用版本。

部署应用

1、创建一个分批发布的应用

2018云栖Workshop应用发布实践手册(一)

2、设置应用名称,这里取名为product-page

2018云栖Workshop应用发布实践手册(一)

3、填写应用基本信息

镜像:registry.cn-hangzhou.aliyuncs.com/acs-sample/productpage:v1

2018云栖Workshop应用发布实践手册(一)

4、点击更新后,返回发布列表

这里我们看到已经成功部署了一个分批发布的应用

2018云栖Workshop应用发布实践手册(一)

5、查看应用详情

这里可以看到4个Pod已经成功运行中

2018云栖Workshop应用发布实践手册(一)

暴露服务

这里我们需要将product-page应用能够对外提供访问

1、创建一个路由(Ingress)

2018云栖Workshop应用发布实践手册(一)

2、填写路由基本信息

这里我们填写域名前缀为product

2018云栖Workshop应用发布实践手册(一)

3、查看路由列表

这里可以看到该应用的完整访问域名

2018云栖Workshop应用发布实践手册(一)

4、通过域名访问应用/productpage页面

2018云栖Workshop应用发布实践手册(一)

分批发布

这里我们通过分批发布的方式来更新应用到新版本v2

1、通过分批发布来更新应用

2018云栖Workshop应用发布实践手册(一)

2、设置应用版本为v2

2018云栖Workshop应用发布实践手册(一)

3、当前我们看到正处于第1批次的更新中

2018云栖Workshop应用发布实践手册(一)

4、进入详情页面

稍等片刻后,我们在“未开始”列表可以看到有两个Pod依然是老的版本,在“已完成”列表中已有两个Pod更新为新的版本

2018云栖Workshop应用发布实践手册(一)
2018云栖Workshop应用发布实践手册(一)

5、此时再访问应用域名,我们可以看到请求已转发到新版本的应用中

2018云栖Workshop应用发布实践手册(一)

6、假若发现新版本有问题,我们可以快速回滚应用到老版本

2018云栖Workshop应用发布实践手册(一)

7、待回滚完成后,我们可以看到4个Pod都处于v1版本中

2018云栖Workshop应用发布实践手册(一)

8、此时我们再次访问应用域名,看到请求都回到了老版本应用中

2018云栖Workshop应用发布实践手册(一)

9、若第一批发布后的新版本应用确认没问题后,则可以继续发布第二批,直到最终发布完成

灰度发布

这里我们通过灰度发布的方式来更新应用到新版本v2

1、部署新版本应用v2

2018云栖Workshop应用发布实践手册(一)

2、设置新版本应用基本信息

这里取名为product-page-v2,同样设置副本数量为4

2018云栖Workshop应用发布实践手册(一)

3、使用新版本镜像v2

新版本镜像:registry.cn-hangzhou.aliyuncs.com/acs-sample/productpage:v2

2018云栖Workshop应用发布实践手册(一)

4、创建新版本对应的服务

2018云栖Workshop应用发布实践手册(一)

5、点击创建后,我们看到新版本应用部署完成

2018云栖Workshop应用发布实践手册(一)

6、我们更新路由配置来设置引流规则

2018云栖Workshop应用发布实践手册(一)

7、这里我们设置将请求参数中带有v=2的请求转发到新版本服务中

2018云栖Workshop应用发布实践手册(一)

8、此时访问应用域名

1)添加请求参数v=2时

2018云栖Workshop应用发布实践手册(一)

2)不添加请求参数v=2时

2018云栖Workshop应用发布实践手册(一)
参考文章

分批发布:

https://yq.aliyun.com/articles/622898

灰度发布:

https://yq.aliyun.com/articles/594019