- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
-
用户指南
- 使用前必读
- 权限管理
- 环境管理
- 应用管理
- 组件管理
- 配置管理
- 发布管理(公测)
- 技术栈管理
- 部署源管理
- 持续交付
- 微服务引擎
- 云审计服务支持的关键操作
- 查看监控指标及告警
- 开发指南
- 最佳实践
- API参考
- SDK参考
-
常见问题
- 应用开发问题咨询指引
- 环境管理
-
应用管理
- 如何查看应用组件部署失败的原因?
- 实例长期处于创建中怎么办?
- 如何解决Docker运行node应用程序时的依赖问题?
- 如何定制Tomcat Context path?
- 如何固定应用组件IP?
- 如何处理虚拟机类型环境下创建和部署组件时遇到ECS错误?
- 如何处理虚拟机类型环境下创建和部署组件时端口访问不通的错误?
- 虚拟机类型环境下部署的应用组件支持在什么目录写文件?
- 如何处理虚拟机类型环境下部署的组件删除失败报host status is not active错误的问题?
- 如何体验ServiceStage的源码部署功能?
- 如何处理使用ServiceStage灰度发布升级组件失败?
- 如何通过挂载配置项方式修改容器部署的组件配置文件?
- 如何处理应用组件接入微服务引擎后在微服务治理下看到的应用名称和ServiceStage应用管理下的不同?
- 持续交付
- 软件中心
- 基础设施
- 应用运维
- 应用开发问题
-
更多文档
- API参考(阿布扎比区域)
-
用户指南(阿布扎比区域)
- 产品介绍
- 快速入门
- 用户指南
-
常见问题
- 如何获取AK/SK?
- 如何处理修改项目名称导致的错误?
- 微服务和普通应用有什么不同?
- 如何查看应用组件部署失败的原因?
- 如何处理部署或升级虚机组件失败?
- Node.js 8软件包打包有哪些约束?
- 如何处理安装Agent失败?
- 如何处理Agent离线?
- 虚机部署的应用组件支持在什么目录写文件?
- 如何处理虚机部署的组件删除失败报host status is not active错误的问题?
- Docker应用程序依赖的问题
- 如何解决Docker客户端push镜像失败的问题?
- 如何获取项目名称?
- 如何处理开启了安全认证的微服务引擎专享版开启IPv6后服务注册失败?
- 如何处理操作微服务引擎专享版时遇到非微服务引擎本身错误?
- 如何处理部署组件时失败,报错日志详情显示connection was closed?
- 如何处理部署虚机组件时遇到ECS错误?
- 如何处理虚机部署端口访问不通的错误?
- 如何处理微服务应用名称与组件所属应用名称不同的问题?
- 如何解释微服务名称与组件名称不同的原因?
- 微服务引擎专享版数据恢复失败
- 用户指南(吉隆坡区域)
- API参考(吉隆坡区域)
- 视频帮助
- 通用参考
展开导读
链接复制成功!
灰度发布(金丝雀)方式重新部署
根据业务需要,您可以在“部署记录”列表中选择历史版本配置,并以此版本配置为模板,使用“灰度发布(金丝雀)”方式重新部署组件。
“灰度发布(金丝雀)”方式先选择一定比例的实例升级到新版本,将流量引入到新版本,验证新版本功能是否正常,然后通过滚动升级剩余的实例到新版本。可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以减少其影响度。
灰度发布(金丝雀)的类型及具体说明请参见表1。
类型 |
说明 |
---|---|
微服务灰度发布 |
适用于微服务组件(ServiceComb/Spring Cloud),灰度发布任务作用于微服务,可通过多个微服务协作,共同完成新特性的上线。
|
ELB灰度发布 |
适用于通过ELB作为流量入口的任何类型组件;灰度发布任务作用于ELB。 要求组件开放了公网访问并绑定了ELB。 |
仅部署环境为Kubernetes类型的组件,且组件实例数量在2个及以上时,支持灰度发布(金丝雀)方式重新部署组件。
已回滚组件版本配置的组件版本配置,不能作为模板重新部署组件。
操作步骤
- 登录ServiceStage控制台。
- 选择以下任意方式进入组件“部署记录”页面:
- 在“应用管理”页面,单击组件所属应用名称,在“组件列表”单击待操作组件名称,在左侧导航栏单击“部署记录”。
- 在“组件管理”页面,单击待操作组件名称,在左侧导航栏单击“部署记录”。
- 在“部署记录”列表,选择待作为配置模板的历史版本部署记录。
- 单击在页面右上方“使用此版本重新部署”,弹出“重新部署”对话框。
- “部署类型”选择“灰度发布(金丝雀)”,单击“确定”。
- 参考下表设置组件版本配置信息,其中带“*”标志的参数为必填参数。
须知:
通过本操作执行组件微服务灰度发布升级过程中,请勿同时通过CSE执行组件微服务灰度发布,否则会导致本操作失效。
通过CSE执行组件微服务灰度发布,请参考灰度发布。
参数
说明
技术栈
固定为选择的历史版本配置,不可修改。
*软件包/镜像
固定为创建并部署组件时选择的组件来源。
*上传方式
选择软件包或者镜像包,重新选择已上传的软件包/镜像包,上传方式请参考组件来源说明。
*编译命令
组件来源是“源码仓库”、部署环境为Kubernetes类型且所选择的技术栈类型为Java、Tomcat、Node.js、Python、Php时支持设置“编译命令”。
- 使用默认命令或脚本:优先执行代码根目录下的build.sh,不存在则按照所选语言的通用方法编译,如Java语言的mvn clean package。
- 使用自定义命令:根据所选语言自定义编译命令,或修改build.sh文件后选择使用默认命令或脚本。
*Dockerfile地址
组件来源是“源码仓库”、部署环境为Kubernetes类型且所选择的技术栈类型为Java、Tomcat、Node.js、Python、Php时支持设置“Dockerfile地址”。
“Dockerfile地址”即Dockerfile文件相对于项目的根目录(./)所在的目录,Dockerfile文件用于镜像构建。
如果未指定“Dockerfile地址”,默认查找项目根目录下的Dockerfile;如果项目根目录下也没有Dockerfile文件,则根据选定的运行环境自动生成Dockerfile。
*组件版本
组件版本号。
- 自动生成版本号:单击“自动生成”,默认以您单击“自动生成”时的时间戳来生成版本号,格式为:yyyy.mmdd.hhmms,s取时间戳中秒数的个位值。例如:时间戳为2022.1214.172318,则版本号为2022.1214.17238。
- 您也可以自定义版本号,格式为:A.B.C或者A.B.C.D。A、B、C、D为自然数,例如:1.0.0或者1.0.0.0。
须知:
- 自定义版本号需唯一,请勿与该组件的历史版本号重复。
资源
固定为选择的历史版本配置,不可修改。
JVM参数
固定为选择的历史版本配置,不可修改。
组件技术栈类型为Java/Tomcat时,可用于配置Java代码运行时的内存参数大小。
Tomcat配置
固定为选择的历史版本配置,不可修改。
组件技术栈类型为Tomcat时,可用于配置Tomcat请求路径、端口号等参数。
高级设置
固定为选择的历史版本配置,不可修改。
灰度策略
- 灰度流量比例:引入到新版本的流量比例。
- 当前流量比例:引入到当前版本的流量比例。
*首批灰度实例数量
首批灰度发布的实例数量,取值范围为[1, 当前总实例数-1]。当前总实例数,即组件当前运行的实例数量。
例如,当前组件总实例数为6,“首批灰度实例数量”参数设置为1,则表示首批升级组件版本配置的实例数量为1。
剩余实例部署批次
首批灰度发布成功之后,剩余实例滚动升级分多少批次完成。
例如,当前组件总实例数为6,“首批灰度实例数量”参数设置为1,且“剩余实例部署批次”设置为3。则当前剩余实例数为5,那么升级剩余实例会按照2:2:1个实例分批升级。
- 单击“升级”。
在“部署日志”区域,可查看部署进展,等待部署完成。