概述
ACK应用与发布管理包括4种方式:
-
灰度发布
-
手动发布
-
自动发布
-
Helm发布
灰度发布(又名金丝雀发布)
灰度发布概念
-
灰度发布是将应用的旧版本A与新版本B同时部署在环境中,业务请求可能会被路由到版本A或者版本B的后端上,您可以自定义灰度发布策略,快速调整版本A和版本B的流量占比。
-
灰度发布可以再发布新版本应用时:
-
自定义控制新版本应用流量比重
-
渐进式完成新版本应用的全量上线
-
最大限度地控制新版本发布带来的业务风险,降低故障带来的影响
-
同时支持快速回滚
-
灰度发布实现
灰度发布是可以帮助您渐进式更新Deployment的工具
-
他能结合路由控制器Ingress Controller实现多版本并存,发布暂停、流量百分比切换、健康检查等功能
-
极大解放灰度发布过程中的手动操作,全自动化实现线上灰度流量切换
安装灰度发布组件
手动发布
-
在使用灰度发布的手动发布方式的时候,您需要创建一个Ingress、Service和Deployment结构的应用。
-
目前灰度发布只支持基于Deployment和Ingress的灰度发布流程。
手动发布流程
-
创建测试应用:可使用YAML文件来创建Deployment、Ingress向外暴露服务
-
创建灰度发布:创建灰度发布时,设置上述创建的Deployment、Service、Ingress,然后设置发布方式为手动发布
-
执行灰度发布:
-
初始化完毕后,就可以进行灰度发布
-
开始灰度发布前,您需要更新应用
- 查看历史记录:在灰度发布页面的历史记录区域,您可以查看所有创建的灰度发布的发布记录,在每个创建的灰度发布详情页面下方的发布日志区域,查看发布过程。
自动发布
自动发布模式可以让您全自动化地完成灰度发布流程。
自动发布流程
-
创建测试应用:可使用YAML文件来创建Deployment、Ingress向外暴露服务
-
创建灰度发布:创建灰度发布时,设置上述创建的Deployment、Service、Ingress,然后设置发布方式为自动发布,然后灰度发布即可自动运行。
-
查看历史记录:在灰度发布页面的历史记录区域,您可以查看所有创建的灰度发布的发布记录,在每个创建的灰度发布详情页面下方的发布日志区域,查看发布过程。
基于Helm的发布管理
-
阿里云Kubernetes服务集成了Helm包管理工具,帮助您快速构建云上应用,因为chart可以多次发布,这就带来一个发布版本管理的问题
-
因此,阿里云Kubernetes提供了发布功能,通过Web界面的方式对通过Helm发布的应用进行管理。
前提条件
-
已经成功创建一个Kubernetes集群
-
已开通了应用目录或者服务目录功能,安装了Helm应用
查看发布详情
-
登录容器服务管理控制台
-
在控制台左侧导航栏中,单击集群
-
在集群列表页面中,单击目标集群名称或者目标集群右侧操作栏下的详情
-
在集群管理业左侧导航栏中,单击应用
-
单击Helm页签,进入发布列表页面
-
查看发布的详情信息,单击右侧的详情,进入该发布的详情页面
-
单击参数页签,您可查看该Helm包的参数设置
发布更新的版本
-
在控制台左侧导航栏中,单击集群
-
在集群列表页面中,单击目标集群名称或者目标集群右侧操作栏下的详情
-
在集群管理业左侧导航栏中,单击应用
-
单击Helm页签,进入发布列表页面
-
您可更新该发布,单击右侧的更新,弹性更新发布对话框
-
在更新发布对话框中修改相关参数,随后单击更新,可对该发布进行更新
发布回滚
-
单击Helm页签,进入发布列表页面
-
您可删除该发布,单击右侧的删除
-
在删除应用对话框中,勾选是否清楚发布记录,然后单击确定,可将应用、服务、部署一并删除。