应用管理与运维平台 SERVICESTAGE-灰度发布方式升级组件版本配置:灰度发布方式升级组件版本配置
灰度发布方式升级组件版本配置
- 登录ServiceStage控制台。
- 选择以下任意方式进入组件“概览”页面:
- 在“应用管理”页面,单击组件所属应用名称,在“组件列表”单击待操作组件名称。
- 在“组件管理”页面,单击待操作组件名称。
- 单击页面右上角的“升级”。
- 选择“灰度发布”。
- 单击“下一步”,参考下表设置组件版本配置信息,其中带“*”标志的参数为必填参数。
参数
说明
技术栈
选择组件技术栈及版本。
技术栈详情,请参考技术栈简介。
*软件包/镜像
固定为创建并部署组件时选择的组件来源。
*上传方式
选择软件包或者镜像包,重新选择已上传的软件包/镜像包,上传方式请参考组件来源说明。
- 如果组件来源是软件包且选择“自定义文件地址”上传方式,需要执行以下操作:
- 如果组件来源是镜像包:
- 可重新自定义“容器名称”:长度为1到63个字符,可以包含小写英文字母、数字和中划线(-),并以小写英文字母开头,小写英文字母或数字结尾。
- 单击已选择的镜像包卡片右上角的,可修改镜像包来源。
镜像访问凭证
- 最多支持选择16个镜像访问凭证。
- 单击“创建密钥”,可以创建新的镜像访问凭证。请参考创建密钥,“密钥类型”必须选择kubernetes.io/dockerconfigjson。
*编译命令
组件来源是“源码仓库”且所选择的技术栈类型为Java、Tomcat、Node.js、Python、Php时,支持设置“编译命令”。
- 使用默认命令或脚本:优先执行代码根目录下的build.sh,不存在则按照所选语言的通用方法编译,如Java语言的mvn clean package。
- 使用自定义命令:根据所选语言自定义编译命令,或修改build.sh文件后选择使用默认命令或脚本。
*Dockerfile地址
组件来源是“源码仓库”且所选择的技术栈类型为Java、Tomcat、Node.js、Python、Php时,支持设置“Dockerfile地址”。
“Dockerfile地址”即Dockerfile文件相对于项目的根目录(./)所在的目录,Dockerfile文件用于镜像构建。
如果未指定“Dockerfile地址”,默认查找项目根目录下的Dockerfile;如果项目根目录下也没有Dockerfile文件,则根据选定的运行环境自动生成Dockerfile。
*组件版本
组件版本号,支持自动生成和自定义版本号。
- 自动生成版本号:单击“自动生成”,默认以您单击“自动生成”时的时间来生成版本号,格式为yyyy.mmdd.hhmms,s取时间戳中秒数的个位值。例如:时间戳为2022.0803.104321,则版本号为2022.0803.10431。
- 自定义版本号:输入格式为A.B.C或者A.B.C.D,A、B、C、D为自然数。例如,1.0.0或者1.0.0.0。
须知:
自定义版本号需唯一,请勿与该组件的历史版本号重复,否则会导致本次部署记录覆盖掉相同版本的历史部署记录。
*容器名称
技术栈不是Docker时,需设置此参数。
容器名称要求为长度为1到63个字符的字符串,可以包含小写英文字母、数字和中划线(-),并以小写英文字母开头,小写英文字母或数字结尾。
资源
您可以根据需要自定义“CPU配额”和“内存配额”,设置组件运行可以使用的最大/最小CPU核数(Core)和内存数量(GiB),从而选择性地为每个组件的实例设定所需要的资源数量。
当您为组件实例指定了资源“申请”时,CCE就利用该信息决定将组件实例调度到哪个节点上;当您为组件实例指定了资源“限制”时,CCE就可以确保运行的组件实例占用的资源不会超出所设限制。CCE还会为组件实例预留所申请数量的系统资源。申请值和限制值的配置说明及建议,请参考资源限制指南。
如需修改,请勾选待修改项后输入新的配置值。不勾选表示不限制。
JVM参数
技术栈类型选择Java/Tomcat时可设置,用于配置Java代码运行时的内存参数大小。
输入JVM参数,如-Xms256m -Xmx1024m,多个参数以空格间隔,不填则为空。
Tomcat配置
技术栈类型选择Tomcat时可设置,用于配置Tomcat请求路径、端口号等参数。
- 勾选“Tomcat配置”,弹出“Tomcat配置”对话框。
- 单击“使用示例模板”,根据业务要求编辑模板文件。
说明:
Tomcat配置,使用默认server.xml配置,上下文路径是"/",没有指定应用路径。
如需自定义应用路径,请参考定制Tomcat Context path。
- 单击“确定”。
容器配置
请参考管理容器部署组件容器配置,根据您的实际业务需要进行设置。
应用配置
请参考管理容器部署组件应用配置,根据您的实际业务需要进行设置。
高级配置
请参考管理容器部署组件高级配置,根据您的实际业务需要进行设置。
*部署架构
- 单击“选择”,根据业务实际情况正确选择灰度升级时实例部署架构。
- 单击“确定”。
须知:所选部署架构必须准确匹配,否则会导致灰度失败,业务受损。
单击“更改”,可重新选择部署架构。
*灰度策略
根据业务实际情况选择灰度升级策略。
- 基于流量比例:根据需要灵活动态的调整不同服务版本的流量比例。
- 基于内容:根据请求的内容控制其流向的服务版本。
说明:
ELB灰度发布,仅支持“基于流量比例”。
*选择流量比例
“灰度策略”选择“基于流量比例”时,根据业务实际情况设置版本流量比例。
- 灰度流量比例:引入到新版本的流量比例。
- 当前流量比例:引入到当前版本的流量比例。
*生效方式
“灰度策略”选择“基于内容”时,根据业务实际情况设置灰度策略生效方式。
- 满足任意条件:满足任意一条“匹配规则”时,灰度策略生效。
- 满足所有条件:满足所有“匹配规则”时,灰度策略生效。
*匹配规则
“灰度策略”选择“基于内容”时,根据业务实际情况设置灰度策略生效的匹配规则。
- 单击“添加匹配条件”。
- 设置“匹配类型”,当前仅支持基于“请求头”类型的匹配。
- 设置“参数名称”,即“匹配类型”对应的key值。
- 设置“条件类型”,即“条件值”满足的匹配规则。
- 相等:“匹配类型”对应的value值和设置的“条件值”相等。
- 匹配:“条件值”支持PERL兼容的正则表达式,仅微服务灰度发布支持。
- 枚举:多个“条件值”以逗号(,)间隔。
- 设置“条件值”,即“匹配类型”对应的value值。
*灰度实例新增模式
根据业务实际情况选择灰度升级时新增实例的模式。
- 蓝绿
先增加与老版本实例同等数量的新版本实例,按照灰度规则将流量引入新版本实例。根据灰度规则验证完成后将所有流量引入新版本,再删除老版本实例。
适用于业务容量无损、回滚快、集群中需要有剩余资源的场景。
蓝绿模式需要组件实例数量在1个或以上。
- 金丝雀(先增后减)
新增指定数量的新版本实例,按照灰度规则将流量引入新版本实例。根据灰度规则验证完成后循环执行“删除固定数量的老版本实例,新增固定数量的新版本实例,同时配合流量调整”,直到所有的流量引入新版本实例,所有的老版本实例被删除。
适用于业务容量无损、回滚慢、集群中需要有剩余资源的场景。
金丝雀(先增后减)模式需要组件实例数量在2个或以上。
- 金丝雀(先减后增)
删除指定数量的老版本实例,新增指定数量的新版本实例,按照灰度规则将流量引入新版本实例。根据灰度规则验证完成后循环执行“删除固定数量的老版本实例,新增固定数量的新版本实例,同时配合流量调整”,直到所有的流量引入新版本实例,所有的老版本实例被删除。
适用于业务容量有损、回滚慢的场景。
金丝雀(先减后增)模式需要组件实例数量在2个或以上。
说明:如需修改组件实例数量以满足灰度升级时新增实例的模式要求,请参考设置手动伸缩策略。
- 单击“升级”。
- 等待组件状态由“升级/回滚中”转换为“运行中”,表示已成功完成组件版本配置升级。
- 在组件“部署记录”页面,可查看部署日志。
容器部署方式部署的组件,如果出现“查询工作负载实例状态失败”日志信息,您可以单击“查看事件”,进入事件列表查看详情。
- 如何选择应用管理与运维平台_运维管理_灰度发布-华为云
- 应用管理与运维平台有什么作用_运维管理_灰度发布-华为云
- 应用管理与运维平台有哪些能力_应用管理_灰度发布-华为云
- 云数据库RDS for MySQL版本升级_MySQL版本_升级数据库版本
- 如何快速体验应用管理与运维平台_快速体验_应用管理与运维平台_功能
- 应用托管服务_零代码改造上云_云应用引擎CAE-华为云
- 应用管理平台_web应用管理_微服务应用管理-华为云
- 云数据库 RDS for MySQL版本升级_MySQL如何进行版本升级_华为云
- 应用管理与运维平台实战_应用托管_应用运维-华为云
- 如何使用应用管理与运维平台_应用管理_应用运维_微服务应用治理