更新时间:2024-12-17 GMT+08:00
分享

滚动发布方式升级组件版本配置

组件创建并部署完成后,根据业务需要,可使用“滚动发布”方式升级单个组件版本配置。

“滚动发布”方式每次只升级一个或多个实例,升级完成后加入生产环境,不断执行这个过程,直到全部旧版本升级到新版本。升级过程服务不中断。

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

前提条件

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

    组件部署方式为虚拟机部署且绑定了ServiceComb引擎,在滚动发布时如需由系统保证应用优雅下线,需要满足以下条件:

    1. 如果使用ServiceComb 2.7.8或者Spring Cloud Huawei 1.10.4-2021.0.x之前版本开发的微服务组件,需为组件添加Key值为microservicename、Value值为微服务实例名称的标签,请参考添加组件标签
    2. 如果组件绑定的ServiceComb引擎开启了安全认证:
  • 组件状态为“运行中”“未就绪”、“异常”或“停止”。查看组件状态,请参考查看组件详情

滚动发布方式升级组件版本配置

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

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

  3. 单击页面右上角的“升级”
  4. 选择“滚动发布”
  5. 单击“下一步”,参考下表设置组件版本配置信息,其中带“*”标志的参数为必填参数。

    参数

    说明

    技术栈

    选择组件技术栈及版本。

    技术栈详情,请参考技术栈简介

    *YAML模式

    容器部署方式部署的组件,支持选择是否使用YAML配置来升级组件。

    • 选择关闭:使用界面配置来升级组件。
    • 选择开启:使用YAML配置来升级组件,从部署了待升级组件的CCE自动同步组件最新负载信息用于修改后升级组件。您也可以单击“导入YAML文件”,导入已经编辑好的待升级组件YAML配置文件。
    说明:

    使用YAML配置来升级组件,组件YAML配置文件中各参数的说明请参考Deployment

    *软件包/镜像

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

    • 容器部署方式部署的组件且“YAML模式”选择关闭:选择“源码仓库”,参考创建仓库授权创建授权,设置代码来源;选择软件包或者镜像包,则固定为创建并部署组件时选择的软件包类型(Jar、War、Zip)或者镜像包类型。由您选择的技术栈类型决定,具体情况请参考表1
    • 容器部署方式部署的组件且“YAML模式”选择开启:选择“源码仓库”,参考创建仓库授权创建授权,设置代码来源;选择软件包,则固定为创建并部署组件时选择的软件包类型(Jar、War、Zip)。由您选择的技术栈类型决定,具体情况请参考表1
    • 虚拟机部署方式部署的组件:选择软件包,则固定为创建并部署组件时选择的软件包类型(Jar、War、Zip、压缩包)。由您选择的技术栈类型决定,具体情况请参考表1

    *上传方式

    • 容器部署方式部署的组件且“YAML模式”选择关闭:选择软件包或者镜像包,重新选择已上传的软件包/镜像包,上传方式请参考组件来源说明
      说明:

      如果选择的是镜像包:

      • 可重新自定义容器名称:长度为1到63个字符,可以包含小写英文字母、数字和中划线(-),并以小写英文字母开头,小写英文字母或数字结尾。
      • 单击已选择的镜像包卡片右上角的,可修改镜像包来源。
    • 容器部署方式部署的组件且“YAML模式”选择开启:选择软件包,重新选择已上传的软件包,上传方式请参考组件来源说明。技术栈选择Docker时,无此参数。
    • 虚拟机部署方式部署的组件:选择软件包,可重新选择已上传的软件包,上传方式请参考组件来源说明
    • 如果组件来源是软件包且选择“自定义文件地址”上传方式,需要执行以下操作:
      1. 输入软件包所在的自定义HTTP/HTTPS协议的文件下载地址。
      2. 选择是否开启认证。

        不开启认证,则默认任何用户都可以下载上传到自定义文件地址的软件包。

        单击开启认证,则只有通过认证的用户才能下载上传到自定义文件地址的软件包。“认证方式”支持“用户密码认证”“自定义Header认证”,认证方式及对应的认证参数由您自定义的文件地址所在服务器支持的认证方式决定。

    镜像访问凭证

    容器部署方式部署的组件,支持设置。

    • 最多支持选择16个镜像访问凭证。
    • 单击“创建密钥”,可以创建新的镜像访问凭证。请参考创建密钥“密钥类型”必须选择kubernetes.io/dockerconfigjson。

    *编译命令

    容器部署方式部署的组件且“YAML模式”选择关闭、组件来源是“源码仓库”,所选择的技术栈类型为Java、Tomcat、Node.js、Python、Php时,支持设置“编译命令”

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

        cd ./weather/

        mvn clean package

    *Dockerfile地址

    容器部署方式部署的组件且“YAML模式”选择关闭、组件来源是“源码仓库”,所选择的技术栈类型为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且“YAML模式”选择关闭时,需设置此参数。

    长度为1到63个字符,可以包含小写英文字母、数字或中划线(-),并以小写英文字母开头,小写英文字母或数字结尾。

    资源

    组件部署方式为容器部署且“YAML模式”选择关闭时可设置。

    您可以根据需要自定义“CPU配额”“内存配额”,设置组件运行可以使用的最大/最小CPU核数(Core)和内存数量(GiB),从而选择性地为每个组件的实例设定所需要的资源数量。

    当您为组件实例指定了资源“申请”时,CCE就利用该信息决定将组件实例调度到哪个节点上;当您为组件实例指定了资源“限制”时,CCE就可以确保运行的组件实例占用的资源不会超出所设限制。CCE还会为组件实例预留所申请数量的系统资源。申请值和限制值的配置说明及建议,请参考资源限制指南

    如需修改,请勾选待修改项后输入新的配置值。不勾选表示不限制。

    说明:

    如果“上传方式”选择的组件来源为镜像包且启用了多容器部署时,请根据您的实际业务需要为各容器实例分别设置此参数。

    JVM参数

    组件部署方式为容器部署且“YAML模式”选择关闭或者组件部署方式为虚拟机部署,技术栈类型选择的是Java、Tomcat时可设置,用于配置Java代码运行时的内存参数大小。

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

    Tomcat配置

    组件部署方式为容器部署且“YAML模式”选择关闭或者组件部署方式为虚拟机部署,技术栈类型选择Tomcat时可设置,用于配置Tomcat请求路径、端口号等参数。

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

      Tomcat配置,使用默认server.xml配置,上下文路径是"/",没有指定应用路径。

      如需自定义应用路径,请参考定制Tomcat Context path

    3. 单击“确定”

    云服务配置

    • 组件部署方式为容器部署且“YAML模式”选择关闭时,请参考管理容器部署组件云服务配置,根据您的实际业务需要进行设置。
      须知:

      如果组件绑定了云数据库RDS,不支持删除,否则会导致升级失败。

    • 组件部署方式为虚拟机部署时,请参考虚拟机部署组件绑定微服务引擎,根据您的实际业务需要进行设置。

    容器配置

    组件部署方式为容器部署且“YAML模式”选择关闭时,请参考管理容器部署组件容器配置,根据您的实际业务需要进行设置。

    虚拟机配置

    组件部署方式为虚拟机部署时,请参考设置虚拟机配置,根据您的实际业务需要进行设置。

    应用配置

    • 组件部署方式为容器部署且“YAML模式”选择关闭时,请参考管理容器部署组件应用配置,根据您的实际业务需要进行设置。
      说明:

      如果“上传方式”选择的组件来源为镜像包且启用了多容器部署时,请根据您的实际业务需要为各容器实例分别设置。

    • 组件部署方式为虚拟机部署时,请参考管理虚拟机部署组件应用配置,根据您的实际业务需要进行设置。

    高级配置

    *部署批次

    组件部署方式为虚拟机部署时可设置。

    表示分几个批次升级组件实例,取值范围为[1, 总实例数]。总实例数,即组件当前运行的实例数量。组件部署方式为虚拟机部署时,每批次支持部署的组件实例数最多不超过40个。

    例如,组件总实例数为4,“部署批次”参数设置为2,则表示会分2批次升级组件版本配置,每批次升级2个组件实例。

    *停止前等待时间

    组件部署方式为虚拟机部署时可设置。

    用于设置停止实例运行前等待时间,以保证已接收的流量处理完成。取值范围为0-600秒,默认设置为30秒。

    激进模式

    组件部署方式为虚拟机部署时可设置。

    单击,开启激进模式,当遇到升级失败时会继续升级剩余实例。

    须知:

    请谨慎开启激进模式:开启后,极端情况下可能会出现所有实例都升级失败,影响业务功能。

  6. 单击“升级”

    • 等待组件状态由“升级/回滚中”转换为“运行中”,表示已成功完成组件版本配置升级。
    • 在组件“部署记录”页面,可查看部署日志。

      容器部署方式部署的组件,如果出现“查询工作负载实例状态失败”日志信息,您可以单击“查看事件”,进入事件列表查看详情。

      虚机部署方式部署的组件,如果出现“创建虚机应用实例失败”、“查询虚机任务状态失败”或“查询虚机应用实例状态失败”日志信息,您可以单击“查看事件”,进入事件列表查看详情。

后续操作

操作

说明

重新部署组件

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

相关文档