计算
弹性云服务器 ECS
Flexus云服务
裸金属服务器 BMS
弹性伸缩 AS
镜像服务 IMS
专属主机 DeH
函数工作流 FunctionGraph
云手机服务器 CPH
Huawei Cloud EulerOS
网络
虚拟私有云 VPC
弹性公网IP EIP
虚拟专用网络 VPN
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
VPC终端节点 VPCEP
云连接 CC
企业路由器 ER
企业交换机 ESW
全球加速 GA
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
边缘安全 EdgeSec
威胁检测服务 MTD
CDN与智能边缘
内容分发网络 CDN
CloudPond云服务
智能边缘云 IEC
迁移
主机迁移服务 SMS
对象存储迁移服务 OMS
云数据迁移 CDM
迁移中心 MGC
大数据
MapReduce服务 MRS
数据湖探索 DLI
表格存储服务 CloudTable
云搜索服务 CSS
数据接入服务 DIS
数据仓库服务 GaussDB(DWS)
数据治理中心 DataArts Studio
数据可视化 DLV
数据湖工厂 DLF
湖仓构建 LakeFormation
企业应用
云桌面 Workspace
应用与数据集成平台 ROMA Connect
云解析服务 DNS
专属云
专属计算集群 DCC
IoT物联网
IoT物联网
设备接入 IoTDA
智能边缘平台 IEF
用户服务
账号中心
费用中心
成本中心
资源中心
企业管理
工单管理
国际站常见问题
ICP备案
我的凭证
支持计划
客户运营能力
合作伙伴支持计划
专业服务
区块链
区块链服务 BCS
Web3节点引擎服务 NES
解决方案
SAP
高性能计算 HPC
视频
视频直播 Live
视频点播 VOD
媒体处理 MPC
实时音视频 SparkRTC
数字内容生产线 MetaStudio
存储
对象存储服务 OBS
云硬盘 EVS
云备份 CBR
存储容灾服务 SDRS
高性能弹性文件服务 SFS Turbo
弹性文件服务 SFS
云硬盘备份 VBS
云服务器备份 CSBS
数据快递服务 DES
专属分布式存储服务 DSS
容器
云容器引擎 CCE
容器镜像服务 SWR
应用服务网格 ASM
华为云UCS
云容器实例 CCI
管理与监管
云监控服务 CES
统一身份认证服务 IAM
资源编排服务 RFS
云审计服务 CTS
标签管理服务 TMS
云日志服务 LTS
配置审计 Config
资源访问管理 RAM
消息通知服务 SMN
应用运维管理 AOM
应用性能管理 APM
组织 Organizations
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
应用身份管理服务 OneAccess
数据库
云数据库 RDS
文档数据库服务 DDS
数据管理服务 DAS
数据复制服务 DRS
云数据库 GeminiDB
云数据库 GaussDB
分布式数据库中间件 DDM
数据库和应用迁移 UGO
云数据库 TaurusDB
人工智能
人脸识别服务 FRS
图引擎服务 GES
图像识别 Image
内容审核 Moderation
文字识别 OCR
AI开发平台ModelArts
图像搜索 ImageSearch
对话机器人服务 CBS
华为HiLens
视频智能分析服务 VIAS
语音交互服务 SIS
应用中间件
分布式缓存服务 DCS
API网关 APIG
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
多活高可用服务 MAS
事件网格 EG
企业协同
华为云会议 Meeting
云通信
消息&短信 MSGSMS
云生态
合作伙伴中心
云商店
开发者工具
SDK开发指南
API签名指南
Terraform
华为云命令行工具服务 KooCLI
其他
产品价格详情
系统权限
管理控制台
客户关联华为云合作伙伴须知
消息中心
公共问题
开发与运维
应用管理与运维平台 ServiceStage
软件开发生产线 CodeArts
需求管理 CodeArts Req
部署 CodeArts Deploy
性能测试 CodeArts PerfTest
编译构建 CodeArts Build
流水线 CodeArts Pipeline
制品仓库 CodeArts Artifact
测试计划 CodeArts TestPlan
代码检查 CodeArts Check
代码托管 CodeArts Repo
云应用引擎 CAE
开天aPaaS
云消息服务 KooMessage
云手机服务 KooPhone
云空间服务 KooDrive
本文导读

灰度发布(金丝雀)方式升级

更新时间:2024-01-22 GMT+08:00

组件创建并部署完成后,根据业务需要,可使用“灰度发布(金丝雀)”方式升级状态为“运行中”“未就绪”的单个组件版本配置。

“灰度发布(金丝雀)”方式先选择一定比例的实例升级到新版本,将流量引入到新版本,验证新版本功能是否正常,然后通过滚动升级剩余的实例到新版本。可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以减少其影响度。

灰度发布(金丝雀)的类型及具体说明请参见表1

表1 灰度发布(金丝雀)类型及具体说明

类型

说明

微服务灰度发布

适用于微服务组件(ServiceComb/Spring Cloud),灰度发布任务作用于微服务,可通过多个微服务协作,共同完成新特性的上线。

  1. 要求组件选择了Java、Tomcat或者Docker技术栈。
  2. 要求组件绑定了未开启安全认证的微服务引擎且未开启多语言接入Mesher服务网格。
  3. ServiceComb要求2.7.8及以后版本;Spring Cloud Huawei要求1.10.4-2021.0.x及以后版本。

ELB灰度发布

适用于通过ELB作为流量入口的任何类型组件;灰度发布任务作用于ELB。

要求组件开放了公网访问并绑定了ELB。

说明:

仅部署环境为Kubernetes类型的组件,且组件实例数量在2个及以上时,支持灰度发布(金丝雀)升级。

如需批量升级同一个应用下的多个组件版本配置,请参考批量升级组件版本配置

前提条件

已完成组件创建与部署,请参考创建并部署组件

操作步骤

  1. 登录ServiceStage控制台。
  2. 选择以下任意方式进入组件“概览”页面:

    • “应用管理”页面,单击组件所属应用名称,在“组件列表”单击待操作组件名称。
    • “组件管理”页面,单击待操作组件名称。

  3. 在页面右上角,单击“升级”
  4. “升级类型”选择“灰度发布(金丝雀)”
  5. 单击“下一步”,参考下表设置组件版本配置信息,其中带“*”标志的参数为必填参数。

    参数

    说明

    技术栈

    固定为创建并部署组件时选择的技术栈。

    *软件包/镜像

    固定为创建并部署组件时选择的组件来源。

    选择“源码仓库”,参考仓库授权创建授权,设置代码来源。

    选择软件包,则组件来源支持的软件包类型由您选择的技术栈类型决定,具体情况请参考表1

    *上传方式

    选择软件包或者镜像包,重新选择已上传的软件包/镜像包,上传方式请参考组件来源说明

    *编译命令

    组件来源是源码、部署环境为Kubernetes类型且所选择的技术栈类型为Java、Tomcat、Node.js、Python、Php时支持设置“编译命令”

    • 使用默认命令或脚本:优先执行代码根目录下的build.sh,不存在则按照所选语言的通用方法编译,如Java语言的mvn clean package
    • 使用自定义命令:根据所选语言自定义编译命令,或修改build.sh文件后选择使用默认命令或脚本。
      须知:
      • 选择“使用自定义命令”时,请在echo、cat、debug命令中慎用敏感信息或者进行敏感信息加密,以免造成敏感信息泄露。
      • 在项目子目录下执行编译命令,需先进入项目子目录,再执行其余脚本命令。例如:

        cd ./weather/

        mvn clean package

    *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。
      须知:
      • 自定义版本号需唯一,请勿与该组件的历史版本号重复。

    资源

    组件部署环境为Kubernetes类型时可设置。

    组件无法调度到剩余资源小于申请值的节点上,配置方法请参考资源限制指南

    可以根据需要自定义“CPU配额”“内存配额”,修改组件运行可以使用的最大/最小CPU核数(Core)和内存数量(GiB)。如需修改,请勾选待修改项后输入新的配置值。

    不勾选,表示不限制。

    JVM参数

    技术栈类型选择Java/Tomcat时可设置,用于配置Java代码运行时的内存参数大小。

    输入JVM参数,如-Xms256m -Xmx1024m,多个参数以空格间隔,不填则为空。

    Tomcat配置

    技术栈类型选择Tomcat时可设置,用于配置Tomcat请求路径、端口号等参数。

    1. 勾选“Tomcat配置”,弹出“Tomcat配置”对话框。
    1. 单击“使用示例模板”,根据业务要求编辑模板文件。
    2. 单击“确定”

    高级设置

    请参考10,设置“组件配置”“部署配置”“运维监控”参数。

    灰度策略

    • 灰度流量比例:引入到新版本的流量比例。
    • 当前流量比例:引入到当前版本的流量比例。

    *首批灰度实例数量

    首批灰度发布的实例数量,取值范围为[1, 当前总实例数-1]。当前总实例数,即组件当前运行的实例数量。

    例如,当前组件总实例数为6,“首批灰度实例数量”参数设置为1,则表示首批升级组件版本配置的实例数量为1。

    剩余实例部署批次

    首批灰度发布成功之后,剩余实例滚动升级分多少批次完成。

    例如,当前组件总实例数为6,“首批灰度实例数量”参数设置为1,且“剩余实例部署批次”设置为3。则当前剩余实例数为5,那么升级剩余实例会按照2:2:1个实例分批升级。

  6. 单击“升级”

    等待组件状态由“升级/回滚中”转换为“运行中”,表示已成功完成组件版本配置升级。

后续操作

操作

说明

查看系统监控

通过灰度发布(金丝雀)升级组件版本配置时,首批灰度发布完成后,选择“系统监控”页签,可以监控灰度版本和当前版本实例的CPU、内存使用情况。

滚动升级剩余实例

通过灰度发布(金丝雀)升级组件版本配置时首批灰度发布成功且验证新版本功能正常后,如需升级剩余组件实例版本到新版本,请执行以下操作:

  1. 选择“灰度发布(金丝雀)”类型的“部署记录”
  2. 单击“滚动升级剩余实例”
  3. 在弹出对话框,单击“确定”

    按照5设置的升级策略升级剩余的实例到新版本。

回滚组件版本配置

下列情况支持回滚组件版本配置:

  • 通过灰度发布(金丝雀)升级组件版本配置时首批灰度发布完成后
  • 组件全部实例的版本配置升级到新版本后

回滚到升级前组件版本配置,请参考回滚组件版本配置

重新部署组件

根据业务需要,您可以在“部署记录”列表中选择历史版本配置,并以此版本配置为模板,重新部署组件,请参考重新部署组件

我们使用cookie来确保您的高速浏览体验。继续浏览本站,即表示您同意我们使用cookie。 详情

文档反馈

文档反馈

意见反馈

0/500

标记内容

同时提交标记内容