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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 本文主要用于演示如何在阿里云容器服务Kubernetes集群中部署一个应用,并将该应用通过Ingress对外暴露提供服务访问,以及如何通过滚动升级和灰度发布来更新升级应用版本。

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

部署应用

1、首先创建一个应用部署,这里使用镜像创建
image

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

3、填写应用部署基础镜像信息
镜像:registry.cn-hangzhou.aliyuncs.com/acs-sample/productpage
版本:v1
image

4、然后创建一个对应的应用服务
image

5、待应用服务创建完成后,我们可以在服务列表中看到如下信息
image

6、最后点击创建,我们可以看到应用部署成功
image

7、查看应用详情,我们可以看到5个Pod已经成功运行
image

暴露服务

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

1、创建一个路由(Ingress)
image

2、填写路由基本信息
这里我们仅填写域名前缀为product
image

3、创建完成后,我们可以看到应用的路由信息
image

4、此时我们可以通过域名访问该应用
image

滚动升级

这里我们通过滚动升级的方式来更新应用到新版本v2,由于控制台上暂未展示出应用的滚动升级进度,这里我们通过命令行的方式来操作

1、首先我们查看下前面创建成功的应用部署

  ~ kubectl get deploy
NAME           DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
product-page   5         5         5            5           20m

2、在滚动升级前我们可以通过如下命令来监控整个滚动升级的过程
注意:这里不要主动停止该监控命令

  ~ kubectl get rs -w
NAME                      DESIRED   CURRENT   READY     AGE
product-page-6d74f58b46   5         5         5         1m

3、此时我们再新开一个终端,通过下面命令先主动暂停该应用的滚动升级过程,便于我们可以体验下如何主动暂停和恢复应用的滚动升级

  ~ kubectl rollout pause deploy/product-page
deployment.apps "product-page" paused

4、然后我们通过如下命令来更新应用版本到v2
镜像:registry.cn-hangzhou.aliyuncs.com/acs-sample/productpage
版本:v2

  ~ kubectl set image deploy/product-page product-page=registry.cn-hangzhou.aliyuncs.com/acs-sample/productpage:v2
deployment.apps "product-page" image updated

5、此时我们可以看到滚动升级并未开始
image

6、然后我们通过下面命令来恢复应用的滚动升级

  ~ kubectl rollout resume deploy/product-page
deployment.apps "product-page" resumed

7、此时我们看到整个的滚动升级过程
image

8、此时我们再访问应用的域名,可以看到已经是新版本的应用界面
image

9、假若我们希望回滚到老版本v1,我们首先查看下当前该应用的历史版本记录,可以看到当前有2个版本记录

  ~ kubectl rollout history deploy/product-page
deployments "product-page"
REVISION  CHANGE-CAUSE
1         <none>
2         <none>

10、我们通过如下命令来将应用回滚到revision=1的版本(即上一个版本)

  ~ kubectl rollout undo deploy/product-page
deployment.apps "product-page"

11、通过监控可以看到现在所有的Pod都回滚到了原来老版本
image

12、此时我们再次通过域名访问应用,看到了已经是老版本的页面
image

灰度发布

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

1、我们首先部署一个新版本应用v2
image

2、设置新版本应用基本信息
这里取名为product-page-v2,同样设置副本数量为5
image

3、设置使用新版本镜像v2
新镜像:registry.cn-hangzhou.aliyuncs.com/acs-sample/productpage
新版本:v2
image

4、同样创建一个新版本对应的服务
image

5、创建后,在服务列表可以看到创建了一个服务
image

6、最终创建完成,我们看到新版本v2的应用部署完成
image

7、此时我们更新路由配置来设置引流规则
image

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

9、此时我们再次访问应用域名
1)不添加请求参数v=2时
image
2)添加请求参数v=2时
image

10、最终新版本验证OK后,我们可以通过简单调整路由规则即可将全部流量引入到新版本中,这里我们仅仅保留新版本服务
image

11、此时我们再访问应用域名(不带v=2)
image

12、最后我们可以删除老版本的应用服务即可,而不会影响服务访问
image

参考文章

滚动升级:https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
灰度发布:https://yq.aliyun.com/articles/594019

目录
相关文章
|
弹性计算 运维 安全
阿里云最佳实践workshop实战训练营-6月场完美收官
最佳实践workshop实战训练营是基于角色扮演的场景化沉浸式实操训练,通过现场参加实训帮助客户快速掌握场景的落地技术方案,通过产品组合实战实操来帮助客户快速了解阿里云各产品及方案的优势。
阿里云最佳实践workshop实战训练营-6月场完美收官
|
11月前
|
存储 人工智能 云计算
See you in 深圳丨阿里云存储技术实战营报名启动,3大议题速览
本次活动邀请阿里云存储、达摩院、日志服务的专家进行技术宣讲与案例分享,帮助企业了解最新云计算以及AI技术的具体落地,为企业高质量发展以及业务出海提供有益借鉴。
72556 2
See you in 深圳丨阿里云存储技术实战营报名启动,3大议题速览
|
存储 SQL Prometheus
干货!《阿里云可观测技术峰会演讲实录合辑》重磅发布
由中国信通院作为指导单位,阿里云、Grafana Labs 联合举办,云原生应用平台、天池平台主办的首届阿里云可观测技术峰会围绕「可观测与开源」主题,邀请友邦人寿、爱福路 F6 企业一线负责人、Grafana、Prometheus 项目大咖,为听众呈现丰富且具备实践参考意义的精彩分享与讨论。
|
Rust 安全 Linux
第四期线上 Workshop 回顾
由 GearFans 举办的 “Gear 中文第四期线上 Workshop” 于 2022 年 2 月 18 日成功举行。
204 0
第四期线上 Workshop 回顾
|
运维 Kubernetes Cloud Native
精彩回顾 | 阿里云ACE × Elastic 联合Meetup 北京站(附PPT下载)
阿里云ACE × Elastic 联合 Meetup 北京站精彩内容回顾
947 0
精彩回顾 | 阿里云ACE × Elastic 联合Meetup 北京站(附PPT下载)
|
大数据 云栖大会 双11
【云栖精选】《云栖精选阿里巴巴技术实战2016年刊》重磅发布
由阿里云云栖社区出品的《云栖精选阿里巴巴技术实战2016年刊》提炼了云栖社区2016一整年来积累的精华,这里有2016阿里云的大事记,有从2009年到现在已经举办过8届的云栖大会的变迁,也有60+技术选题背后的故事。全书141页,欢迎下载。
39005 0
|
云栖大会 API 机器人
2019杭州云栖大会SaaS加速器专场回顾合集:重磅发布、嘉宾分享、技术解读...持续更新中!
SaaS加速器是为合作伙伴提供应用开发加速、集成加速、上云加速和售卖加速的技术和商业平台。本文收录了2019杭州云栖大会SaaS加速器专场系列报道,包括现场嘉宾分享、产品技术解读、重磅发布资讯等干货内容,持续更新中,敬请关注!
6573 0
2019杭州云栖大会SaaS加速器专场回顾合集:重磅发布、嘉宾分享、技术解读...持续更新中!
|
Kubernetes Cloud Native 异构计算
【合集】规模化落地云原生,阿里云亮相 KubeCon China(内含 KubeCon PPT )
相关文章一览 沉淀九年,一文看清阿里云原生大事件什么是 KubeCon? CNCF(Cloud Native Computing Foundation),即云原生计算基金会。CNCF 于 2015 年 7 月成立,隶属于Linux 基金会,旨在联合合作伙伴和开源社区推动云原生技术发展,如 Kubernetes、容器及微服务等。
12072 0