云服务器内容精选

  • 前提条件 只能在应用下新增组件,请先创建应用,请参考创建应用。 组件需要部署在指定环境下,请先创建Kubernetes类型环境并纳管资源,请参考环境管理。 需要根据组织管理组件构建生成的镜像,请先创建组织,请参考创建组织。 需要根据命名空间隔离构建数据和组件实例,请先创建命名空间,请参考创建命名空间。 如果您基于“源码仓库”创建组件,那么您首先需要创建仓库授权,请参考仓库授权。 如果您基于软件包创建组件,那么您首先需要将软件包上传至CodeArts软件发布库、SWR软件仓库或者OBS对象存储中。 将软件包上传至CodeArts软件发布库,请参考上传软件包。 将软件包上传至SWR软件仓库,请参考上传软件包。 将软件包上传至OBS对象存储中,请参考上传对象。 如果上传软件包失败,请参考如何解决上传软件包失败的问题?。 如果您基于镜像包创建组件,请参考组件来源说明准备镜像。
  • 克隆批量克隆发布单 登录ServiceStage控制台。 单击“发布管理”,进入“发布管理”列表页面。 择待克隆的批量克隆发布单。 直接克隆:单击“操作”列的“克隆”。 确认发布单详情后克隆:单击目标发布单名称,进入该发布单的“发布管理”页面确认各组件的配置后,单击“克隆”。 参考下表修改发布单基本信息,其中带“*”标志的参数为必填参数。 参数名称 参数说明 *发布单名称 发布单的名称。 长度2到64个字符,可以包含英文字母、数字、下划线(_)或中划线(-),以英文字母开头、英文字母或数字结尾。 描述 发布单描述信息,长度不超过128个字符。 设置“激进策略”。 单击,可开启“激进策略”。遇到组件发布失败,会继续发布剩余组件。 单击,可关闭“激进策略”。遇到组件发布失败,则会导致发布单发布任务失败。 如需删除已加入发布单的组件,请单击目标组件所在行“操作”列的“删除”。 如需新增组件,请单击“添加组件”,批量勾选待加入发布单的组件,单击“确定”。 同一个批量克隆发布单下,支持添加64个组件。 仅支持选择容器部署方式部署的运行状态为“运行中”、“未就绪”、“停止”、 “未知”、“异常”的组件。 根据实际业务需要参考下表重新设置各组件版本配置信息。 参数名称 参数说明 组件名称 组件的名称。 长度2到64个字符,可以包含英文字母、数字、下划线(_)或中划线(-),以英文字母开头、英文字母或者数字结尾。 不同应用下的同名组件可以部署在同一个环境下。 同一个应用下的同名组件可以部署在同一个环境下的不同泳道。关于泳道,请参考全链路流量控制概述。 同一个应用下的同名组件可以部署在不同环境下。 组件版本 组件版本号。 发布单中原有组件版本号默认为该组件原来的版本号;发布单中新添加组件默认以您完成7操作的时间来生成版本号。默认版本号格式为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。 说明: 您可以执行以下操作,批量同步设置组件版本号: 鼠标移动到指定组件的“组件版本”输入框,单击。 勾选需要同步配置版本号的其他组件。 单击“确定”。 所属应用 选择组件所属应用。您可以执行以下操作,批量同步设置组件所属应用: 鼠标移动到指定组件“所属应用”下拉列表框,单击。 勾选需要同步配置所属应用的其他组件。 单击“确定”。 所属环境 选择组件部署环境,仅可选择“Kubernetes”类型环境。 须知: 如果组件已经绑定了指定的微服务引擎、分布式缓存或云数据库实例,而为该组件重新选择的环境下并未绑定这些指定的实例,则会在高级配置预检查中报错。 您可以执行以下操作,批量同步设置组件所属环境: 鼠标移动到指定组件“所属环境”下拉列表框,单击。 勾选需要同步配置所属环境的其他组件。 单击“确定”。 重新设置组件所属环境后,该组件所属集群会同步变更为重新选择的环境下绑定的集群,所属命名空间会同步变更为重新选择的环境下绑定集群的default命名空间。 所属集群 选择组件部署和运行的CCE集群。 您可以执行以下操作,批量同步设置组件所属集群: 鼠标移动到指定组件“所属集群”下拉列表框,单击。 勾选需要同步配置所属集群的其他组件。 单击“确定”。 批量同步设置组件所属集群后,仅选择的组件所属环境下绑定了选择的集群,该组件所属集群才会同步变更,且所属命名空间会同步变更为重新选择的集群的default命名空间。 所属命名空间 选择执行构建的环境下CCE集群命名空间,用于隔离构建数据。关于命名空间,请参考管理命名空间。 您可以执行以下操作,批量同步设置组件所属命名空间: 鼠标移动到指定组件“所属命名空间”下拉列表框,单击。 勾选需要同步配置所属命名空间的其他组件。 单击“确定”。 批量同步设置组件所属命名空间后,仅所选组件的所属集群下存在选择的命名空间,该组件所属命名空间才会同步变更。 软件包/镜像包/源码仓库 单击,重新选择软件包/镜像包/源码仓库,请参考组件来源说明。 实例数 设置组件运行实例数,取值范围为[1, 200]。 您可以执行以下操作,批量同步设置组件实例数: 鼠标移动到指定组件“实例数”输入框,单击。 勾选需要同步配置组件实例数的其他组件。 单击“确定”。 部署顺序 指定组件在所有待加入发布单组件里面的部署次序。 如果已选组件之间存在依赖关系,例如某组件的启动需要依赖其他组件,则需要设置“部署顺序”,使被依赖的组件优先被部署。 例如,待加入发布单的A、B、C三个组件,A组件的启动依赖于B、C组件。因此,需要将B、C组件的“部署顺序”设置为1,将A组件的“部署顺序”设置为2。 如果待加入发布单的组件之间不存在依赖关系,则“部署顺序”可以保持默认,所有组件会同批次被部署。 根据实际业务需要重新设置组件构建参数。 组件技术栈类型为Java、Tomcat、Node.js、Python、Php时可以设置。 单击目标组件所在行“操作”列的“构建”。 参考下表设置构建参数,其中带“*”标志的参数为必填参数。 参数 说明 *编译命令 组件来源是“源码仓库”时,根据业务需要设置“编译命令”。 使用默认命令或脚本:优先执行代码根目录下的build.sh,不存在则按照所选语言的通用方法编译,如Java语言的mvn clean package。 使用自定义命令:根据所选语言自定义编译命令,或修改build.sh文件后选择使用默认命令或脚本。 须知: 选择“使用自定义命令”时,请在echo、cat、debug命令中慎用敏感信息或者进行敏感信息加密,以免造成敏感信息泄露。 在项目子目录下执行编译命令,需先进入项目子目录,再执行其余脚本命令。例如: cd ./weather/ mvn clean package *Dockerfile地址 组件来源是“源码仓库”时,根据业务需要设置“Dockerfile地址”。 “Dockerfile地址”即Dockerfile文件相对于项目的根目录(./)所在的目录,Dockerfile文件用于镜像构建。 如果未指定“Dockerfile地址”,默认查找项目根目录下的Dockerfile;如果项目根目录下也没有Dockerfile文件,则根据选定的运行环境自动生成Dockerfile。 *组织 组织用于管理组件构建生成的镜像。 *构建环境 选择用于构建镜像的环境类型。执行构建的环境,必须是Kubernetes环境,且能够访问Internet。 推荐您选择“使用当前环境构建”。如果当前环境的CCE集群不能访问Internet,且您单独规划了构建环境,则可选择“使用独立环境构建”。 使用独立环境构建:可使用单独的构建环境进行镜像构建。独立构建环境CCE集群和当前组件部署环境CCE集群的CPU架构必须保持一致,否则会导致组件部署失败。 使用当前环境构建:使用组件所属的部署环境进行镜像构建。当前环境CCE集群的master节点和node节点的CPU架构必须保持一致,否则会导致组件构建失败。 *选择环境 “构建环境”选择“使用独立环境构建”时,可选择使用不同于组件所属的独立构建环境。 “构建环境”选择“使用当前环境构建”时,固定选择使用组件所属的部署环境。 *命名空间 选择执行构建的环境下CCE集群命名空间,用于隔离构建数据。关于命名空间,请参考管理命名空间。 过滤节点标签 如果存在以下情况,您需要通过设置过滤节点标签将构建任务下发到绑定了EIP的固定节点上,保证组件构建、部署成功。 “构建环境”选择“使用独立环境构建”时,需要设置过滤节点标签,将构建任务下发到独立构建环境下的node节点,保证该节点和当前组件部署环境下node节点CPU架构一致。 “构建环境”选择“使用当前环境构建”时,如果环境下有node节点和master节点CPU架构不一致,需要设置过滤节点标签,将构建任务下发到和master节点CPU架构一致的node节点上。 新增过滤标签,请参考添加节点标签。 单击“确定”。 单击目标组件所在行“操作”列的“高级配置”。 单击,开启公网访问。 设置“公网ELB”。 选择所选环境中已经存在的绑定了弹性公网IP的弹性负载均衡(ELB)资源。 若不存在,请单击“去所选的环境里添加”,在环境编辑页面,单击“新增可选资源”,为该环境添加已创建的弹性负载均衡(ELB)资源。 若需创建弹性负载均衡(ELB)资源,请参考下表根据实际应用场景进行创建。 使用场景 参考章节 使用 域名 访问应用 购买共享型负载均衡器 参考购买独享型负载均衡器创建“规格”为“应用型”的ELB ELB灰度发布 参考购买独享型负载均衡器创建“规格”为“应用型”的ELB 弹性负载均衡ELB需已绑定弹性公网IP,且必须与当前组件部署环境下纳管的计算资源处于相同的 虚拟私有云VPC 及其子网下。 组件在不同部署环境下需绑定不同ELB,避免路由错误。 设置“对外协议”。 选择“HTTP”,会存在安全风险,建议优先选择使用安全的“HTTPS”方式。 选择“HTTPS”,单击“使用已有”选择已经创建的证书。 若证书不存在,请单击“新创建”创建新的服务器证书。创建服务器证书请参考创建证书。 设置“域名”。 选择“自动生成”,自动生成的域名仅有7天有效期。 选择“绑定域名”,在输入框中输入自定义域名。 设置“监听端口”。 输入应用进程的监听端口号。 图1 设置公网访问 设置组件的“云服务配置”参数,请参考管理容器部署组件云服务配置。 您可以执行以下操作,批量同步为组件绑定微服务引擎、分布式缓存或云数据库: 鼠标移动到指定组件已绑定的微服务引擎、分布式缓存或云数据库,单击。 勾选需要同步配置的其他组件。 单击“确定”。 仅所选组件的所属环境下已绑定了选择的微服务引擎、分布式缓存或云数据库,才会同步变更。否则,保持不变。 您可以执行以下操作,批量为组件同步删除微服务引擎、分布式缓存或云数据库: 鼠标移动到指定组件已绑定的微服务引擎、分布式缓存或云数据库,单击。 单击“同步删除”,勾选需要同步配置的其他组件,单击“确定”。 如果仅为当前组件删除已绑定的微服务引擎、分布式缓存或云数据库,单击“取消”。 您可以执行以下操作,为指定组件重新绑定微服务引擎、分布式缓存或云数据库: 鼠标移动到指定组件已绑定的微服务引擎、分布式缓存或云数据库,单击。 重新选择当前环境下已纳管的微服务引擎、分布式缓存或云数据库,单击“确定”。 设置组件的“容器配置”参数,请参考管理容器部署组件容器配置。 设置组件的“高级配置”参数,请参考管理容器部署组件高级配置。 单击“确定”。 请参考下表根据是否发布发布单执行后续操作。 是否发布发布单 操作方法 是 单击“完成并执行”,系统会自动进行高级配置预检查,检查各组件的高级配置是否正确。 如果高级配置预检查报错,请执行以下操作重新配置后再执行后续操作。 请在弹出的对话框确认问题后,单击“确定”。 单击报错组件“操作”列的“高级配置”。 参考管理容器部署组件云服务配置~管理容器部署组件高级配置,根据报错情况重新设置组件高级配置参数。 如果高级配置预检查通过,发布单中的组件会按照发布单的配置批量完成部署。 您可以查看该发布单的发布记录和发布单信息,执行克隆批量克隆发布单、删除发布单操作。 否 单击“创建完成”,系统会自动进行高级配置预检查,检查各组件的高级配置是否正确。 如果高级配置预检查报错,请执行以下操作重新配置后再执行后续操作。 请在弹出的对话框确认问题后,单击“确定”。 单击报错组件“操作”列的“高级配置”。 参考管理容器部署组件云服务配置~管理容器部署组件高级配置,根据报错情况重新设置组件高级配置参数。 如果高级配置预检查通过,生成状态为“待发布”的发布单。 在“发布管理”页面,您可以查看发布单信息,执行发布待发布的发布单、克隆批量克隆发布单、编辑批量克隆发布单或删除发布单操作。
  • 批量克隆组件 登录ServiceStage控制台。 单击“应用管理”。 单击待批量克隆的组件所在的应用名称,进入“应用概览”页面。 勾选“组件列表”中待批量克隆的组件,单击“批量克隆”。 参考下表批量设置待克隆组件版本配置信息。 参数 说明 组件名称 组件的名称,组件克隆完成后不支持修改。 长度2到64个字符,可以包含英文字母、数字、下划线(_)或中划线(-),以英文字母开头、英文字母或者数字结尾。 不同应用下的同名组件可以部署在同一个环境下。 同一个应用下的同名组件可以部署在同一个环境下相同CCE集群下的不同泳道。关于泳道,请参考全链路流量控制概述。 同一个应用下的同名组件可以部署在不同环境下。 组件版本 组件版本号。 默认以您开始执行批量克隆组件操作的时间来生成版本号,格式为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。 说明: 您可以执行以下操作,批量同步设置组件版本号: 鼠标移动到指定组件的“组件版本”输入框,单击。 勾选需要同步配置组件版本号的其他组件。 单击“确定”。 所属应用 选择组件所属应用。您可以执行以下操作,批量同步设置组件所属应用: 鼠标移动到指定组件“所属应用”下拉列表框,单击。 勾选需要同步配置组件所属应用的其他组件。 单击“确定”。 所属环境 选择组件部署环境,仅可选择Kubernetes类型环境。 您可以执行以下操作,批量同步设置组件所属环境: 鼠标移动到指定组件“所属环境”下拉列表框,单击。 勾选需要同步配置组件所属环境的其他组件。 单击“确定”。 所属命名空间 选择执行构建的环境下CCE集群命名空间,用于隔离构建数据。关于命名空间,请参考管理命名空间。 您可以执行以下操作,批量同步设置组件所属命名空间: 鼠标移动到指定组件“所属命名空间”下拉列表框,单击。 勾选需要同步配置组件所属命名空间的其他组件。 单击“确定”。 软件包/镜像包/源码仓库 单击,重新选择软件包/镜像包/源码仓库,请参考组件来源说明。 实例数 设置运行在环境下的组件实例数,取值范围为[1, 200]。 您可以执行以下操作,批量同步设置组件实例数: 鼠标移动到指定组件“实例数”输入框,单击。 勾选需要同步配置组件实例数的其他组件。 单击“确定”。 根据实际业务需要重新设置组件构建参数。 组件的技术栈类型为Java、Tomcat、Node.js、Python、Php时可以设置。 单击目标组件所在行“操作”列的“构建”。 参考下表设置构建参数,其中带“*”标志的参数为必填参数。 参数 说明 *编译命令 组件来源是“源码仓库”时,根据业务需要设置“编译命令”。 使用默认命令或脚本:优先执行代码根目录下的build.sh,不存在则按照所选语言的通用方法编译,如Java语言的mvn clean package。 使用自定义命令:根据所选语言自定义编译命令,或修改build.sh文件后选择使用默认命令或脚本。 须知: 选择“使用自定义命令”时,请在echo、cat、debug命令中慎用敏感信息或者进行敏感信息加密,以免造成敏感信息泄露。 在项目子目录下执行编译命令,需先进入项目子目录,再执行其余脚本命令。例如: cd ./weather/ mvn clean package *Dockerfile地址 组件来源是“源码仓库”时,根据业务需要设置“Dockerfile地址”。 “Dockerfile地址”即Dockerfile文件相对于项目的根目录(./)所在的目录,Dockerfile文件用于镜像构建。 如果未指定“Dockerfile地址”,默认查找项目根目录下的Dockerfile;如果项目根目录下也没有Dockerfile文件,则根据选定的运行环境自动生成Dockerfile。 *组织 组织用于管理组件构建生成的镜像。 *构建环境 选择用于构建镜像的环境类型。执行构建的环境,必须是Kubernetes环境,且能够访问Internet。 推荐您选择“使用当前环境构建”。如果当前环境的CCE集群不能访问Internet,且您单独规划了构建环境,则可选择“使用独立环境构建”。 使用独立环境构建:可使用单独的构建环境进行镜像构建。独立构建环境CCE集群和当前组件部署环境CCE集群的CPU架构必须保持一致,否则会导致组件部署失败。 使用当前环境构建:使用组件所属的部署环境进行镜像构建。当前环境CCE集群的master节点和node节点的CPU架构必须保持一致,否则会导致组件构建失败。 *选择环境 “构建环境”选择“使用独立环境构建”时,可选择使用不同于组件所属的独立构建环境。 “构建环境”选择“使用当前环境构建”时,固定选择使用组件所属的部署环境。 *命名空间 选择执行构建的环境下CCE集群命名空间,用于隔离构建数据。关于命名空间,请参考管理命名空间。 过滤节点标签 如果存在以下情况,您需要通过设置过滤节点标签将构建任务下发到绑定了EIP的固定节点上,保证组件构建、部署成功。 “构建环境”选择“使用独立环境构建”时,需要设置过滤节点标签,将构建任务下发到独立构建环境下的node节点,保证该节点和当前组件部署环境下node节点CPU架构一致。 “构建环境”选择“使用当前环境构建”时,如果环境下有node节点和master节点CPU架构不一致,需要设置过滤节点标签,将构建任务下发到和master节点CPU架构一致的node节点上。 新增过滤标签,请参考添加节点标签。 单击“确定”。 单击目标组件所在行“操作”列的“高级配置”。 单击,开启公网访问。 设置“公网ELB”。 选择所选环境中已经存在的绑定了弹性公网IP的弹性负载均衡(ELB)资源。 若不存在,请单击“去所选的环境里添加”,在环境编辑页面,单击“新增可选资源”,为该环境添加已创建的弹性负载均衡(ELB)资源。 若需创建弹性负载均衡(ELB)资源,请参考下表根据实际应用场景进行创建。 使用场景 参考章节 使用域名访问应用 购买共享型负载均衡器 参考购买独享型负载均衡器创建“规格”为“应用型”的ELB ELB灰度发布 参考购买独享型负载均衡器创建“规格”为“应用型”的ELB 弹性负载均衡ELB需已绑定弹性公网IP,且必须与当前组件部署环境下纳管的计算资源处于相同的虚拟私有云VPC及其子网下。 组件在不同部署环境下需绑定不同ELB,避免路由错误。 设置“对外协议”。 选择“HTTP”,会存在安全风险,建议优先选择使用安全的“HTTPS”方式。 选择“HTTPS”,单击“使用已有”选择已经创建的证书。 若证书不存在,请单击“新创建”创建新的服务器证书。创建服务器证书请参考创建证书。 设置“域名”。 选择“自动生成”,自动生成的域名仅有7天有效期。 选择“绑定域名”,在输入框中输入自定义域名。 设置“监听端口”。 输入应用进程的监听端口号。 图1 设置公网访问 设置组件的“云服务配置”参数,请参考管理容器部署组件云服务配置。 您可以执行以下操作,批量同步为组件绑定微服务引擎、分布式缓存或云数据库: 鼠标移动到指定组件已绑定的微服务引擎、分布式缓存或云数据库,单击。 勾选需要同步配置的其他组件。 单击“确定”。 仅所选组件的所属环境下已绑定了选择的微服务引擎、分布式缓存或云数据库,才会同步变更。否则,保持不变。 您可以执行以下操作,批量为组件同步删除微服务引擎、分布式缓存或云数据库: 鼠标移动到指定组件已绑定的微服务引擎、分布式缓存或云数据库,单击。 单击“同步删除”,勾选需要同步配置的其他组件,单击“确定”。 如果仅为当前组件删除已绑定的微服务引擎、分布式缓存或云数据库,单击“取消”。 您可以执行以下操作,为指定组件重新绑定微服务引擎、分布式缓存或云数据库: 鼠标移动到指定组件已绑定的微服务引擎、分布式缓存或云数据库,单击。 重新选择当前环境下已纳管的微服务引擎、分布式缓存或云数据库,单击“确定”。 设置组件的“容器配置”参数,请参考管理容器部署组件容器配置。 设置组件的“高级配置”参数,请参考管理容器部署组件高级配置。 单击“确定”。 (可选)单击“高级设置预检查”,检查各组件的高级配置是否正确。 如果组件绑定了指定的微服务引擎、分布式缓存或云数据库实例,而该组件所属环境下并未绑定这些指定的实例,高级配置预检查会报错。请执行以下操作重新配置后再执行后续操作。 请在弹出的“高级配置预检查”对话框确认后,单击“确定”。 单击报错组件“操作”列的“高级配置”。 参考管理容器部署组件云服务配置,重新设置组件云服务配置参数。 单击“完成并执行”。 如果组件绑定了指定的微服务引擎、分布式缓存或云数据库实例,而该组件所属环境下并未绑定这些指定的实例,高级配置预检查会报错。请执行以下操作重新配置后再执行后续操作。 请在弹出的“高级配置预检查”对话框确认后,单击“确定”。 单击报错组件“操作”列的“高级配置”。 参考管理容器部署组件云服务配置,重新设置组件云服务配置参数。 如果高级配置正确,等待组件状态由“初始化”转换为“运行中”,表示已成功完成组件批量克隆。
  • 前提条件 只能在应用下新增组件,请先创建应用,请参考创建应用。 组件需要部署在指定环境下,请先创建Kubernetes类型环境并纳管资源,请参考环境管理。 需要根据组织管理组件构建生成的镜像,请先创建组织,请参考创建组织。 需要根据命名空间隔离构建数据和组件实例,请先创建命名空间,请参考创建命名空间。 如果您基于“源码仓库”创建组件,那么您首先需要创建仓库授权,请参考仓库授权。 如果您基于软件包创建组件,那么您首先需要将软件包上传至CodeArts软件发布库、SWR软件仓库或者OBS对象存储中。 将软件包上传至CodeArts软件发布库,请参考上传软件包。 将软件包上传至SWR软件仓库,请参考上传软件包。 将软件包上传至OBS对象存储中,请参考上传对象。 如果上传软件包失败,请参考如何解决上传软件包失败的问题?。 如果您基于镜像包创建组件,请参考组件来源说明准备镜像。
  • 克隆批量部署发布单 登录ServiceStage控制台。 单击“发布管理”,进入“发布管理”列表页面。 选择待克隆的批量部署发布单。 直接克隆:单击“操作”列的“克隆”。 确认发布单详情后克隆:单击目标发布单名称,进入该发布单的“发布管理”页面确认各组件的配置后,单击“克隆”。 参考下表修改发布单基本信息,其中带“*”标志的参数为必填参数。 参数名称 参数说明 *发布单名称 发布单的名称。 长度2到64个字符,可以包含英文字母、数字、下划线(_)或中划线(-),以英文字母开头、英文字母或数字结尾。 描述 发布单描述信息,长度不超过128个字符。 设置“激进策略”。 单击,可开启“激进策略”。遇到组件发布失败,会继续发布剩余组件。 单击,可关闭“激进策略”。遇到组件发布失败,则会导致发布单发布任务失败。 如需删除已加入发布单的组件,请单击目标组件所在行“操作”列的“删除”。 如需新增组件,请单击“创建组件”,可以批量创建待加入发布单的组件。 同一个批量部署发布单下,支持创建64个组件。 创建组件,请参考创建并部署组件。 根据实际业务需要参考下表重新设置各组件版本配置信息。 参数名称 参数说明 组件名称 组件的名称。 长度2到64个字符,可以包含英文字母、数字、下划线(_)或中划线(-),以英文字母开头、英文字母或者数字结尾。 不同应用下的同名组件可以部署在同一个环境下。 同一个应用下的同名组件可以部署在同一个环境下的不同泳道。关于泳道,请参考全链路流量控制概述。 同一个应用下的同名组件可以部署在不同环境下。 组件版本 组件版本号。 发布单中原有组件版本号默认为该组件原来的版本号;发布单中新添加组件默认以您完成7操作的时间来生成版本号。默认版本号格式为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。 说明: 您可以执行以下操作,批量同步设置组件版本号: 鼠标移动到指定组件的“组件版本”输入框,单击。 勾选需要同步配置版本号的其他组件。 单击“确定”。 所属应用 选择组件所属应用。您可以执行以下操作,批量同步设置组件所属应用: 鼠标移动到指定组件“所属应用”下拉列表框,单击。 勾选需要同步配置所属应用的其他组件。 单击“确定”。 所属环境 选择组件部署环境,仅可选择“Kubernetes”类型环境。 须知: 如果组件已经绑定了指定的微服务引擎、分布式缓存或云数据库实例,而为该组件重新选择的环境下并未绑定这些指定的实例,则会在高级配置预检查中报错。 您可以执行以下操作,批量同步设置组件所属环境: 鼠标移动到指定组件“所属环境”下拉列表框,单击。 勾选需要同步配置所属环境的其他组件。 单击“确定”。 重新设置组件所属环境后,该组件所属集群会同步变更为重新选择的环境下绑定的集群,所属命名空间会同步变更为重新选择的环境下绑定集群的default命名空间。 所属集群 选择组件部署和运行的CCE集群。 您可以执行以下操作,批量同步设置组件所属集群: 鼠标移动到指定组件“所属集群”下拉列表框,单击。 勾选需要同步配置所属集群的其他组件。 单击“确定”。 批量同步设置组件所属集群后,仅选择的组件所属环境下绑定了选择的集群,该组件所属集群才会同步变更,且所属命名空间会同步变更为重新选择的集群的default命名空间。 所属命名空间 选择执行构建的环境下CCE集群命名空间,用于隔离构建数据。关于命名空间,请参考管理命名空间。 您可以执行以下操作,批量同步设置组件所属命名空间: 鼠标移动到指定组件“所属命名空间”下拉列表框,单击。 勾选需要同步配置所属命名空间的其他组件。 单击“确定”。 批量同步设置组件所属命名空间后,仅所选组件的所属集群下存在选择的命名空间,该组件所属命名空间才会同步变更。 软件包/镜像包/源码仓库 单击,重新选择软件包/镜像包/源码仓库,请参考组件来源说明。 实例数 设置组件运行实例数,取值范围为[1, 200]。 您可以执行以下操作,批量同步设置组件实例数: 鼠标移动到指定组件“实例数”输入框,单击。 勾选需要同步配置组件实例数的其他组件。 单击“确定”。 部署顺序 指定组件在所有待加入发布单组件里面的部署次序。 如果已选组件之间存在依赖关系,例如某组件的启动需要依赖其他组件,则需要设置“部署顺序”,使被依赖的组件优先被部署。 例如,待加入发布单的A、B、C三个组件,A组件的启动依赖于B、C组件。因此,需要将B、C组件的“部署顺序”设置为1,将A组件的“部署顺序”设置为2。 如果待加入发布单的组件之间不存在依赖关系,则“部署顺序”可以保持默认,所有组件会同批次被部署。 根据实际业务需要重新设置组件构建参数。 组件技术栈类型为Java、Tomcat、Node.js、Python、Php时可以设置。 单击目标组件所在行“操作”列的“构建”。 参考下表设置构建参数,其中带“*”标志的参数为必填参数。 参数 说明 *编译命令 组件来源是“源码仓库”时,根据业务需要设置“编译命令”。 使用默认命令或脚本:优先执行代码根目录下的build.sh,不存在则按照所选语言的通用方法编译,如Java语言的mvn clean package。 使用自定义命令:根据所选语言自定义编译命令,或修改build.sh文件后选择使用默认命令或脚本。 须知: 选择“使用自定义命令”时,请在echo、cat、debug命令中慎用敏感信息或者进行敏感信息加密,以免造成敏感信息泄露。 在项目子目录下执行编译命令,需先进入项目子目录,再执行其余脚本命令。例如: cd ./weather/ mvn clean package *Dockerfile地址 组件来源是“源码仓库”时,根据业务需要设置“Dockerfile地址”。 “Dockerfile地址”即Dockerfile文件相对于项目的根目录(./)所在的目录,Dockerfile文件用于镜像构建。 如果未指定“Dockerfile地址”,默认查找项目根目录下的Dockerfile;如果项目根目录下也没有Dockerfile文件,则根据选定的运行环境自动生成Dockerfile。 *组织 组织用于管理组件构建生成的镜像。 *构建环境 选择用于构建镜像的环境类型。执行构建的环境,必须是Kubernetes环境,且能够访问Internet。 推荐您选择“使用当前环境构建”。如果当前环境的CCE集群不能访问Internet,且您单独规划了构建环境,则可选择“使用独立环境构建”。 使用独立环境构建:可使用单独的构建环境进行镜像构建。独立构建环境CCE集群和当前组件部署环境CCE集群的CPU架构必须保持一致,否则会导致组件部署失败。 使用当前环境构建:使用组件所属的部署环境进行镜像构建。当前环境CCE集群的master节点和node节点的CPU架构必须保持一致,否则会导致组件构建失败。 *选择环境 “构建环境”选择“使用独立环境构建”时,可选择使用不同于组件所属的独立构建环境。 “构建环境”选择“使用当前环境构建”时,固定选择使用组件所属的部署环境。 *命名空间 选择执行构建的环境下CCE集群命名空间,用于隔离构建数据。关于命名空间,请参考管理命名空间。 过滤节点标签 如果存在以下情况,您需要通过设置过滤节点标签将构建任务下发到绑定了EIP的固定节点上,保证组件构建、部署成功。 “构建环境”选择“使用独立环境构建”时,需要设置过滤节点标签,将构建任务下发到独立构建环境下的node节点,保证该节点和当前组件部署环境下node节点CPU架构一致。 “构建环境”选择“使用当前环境构建”时,如果环境下有node节点和master节点CPU架构不一致,需要设置过滤节点标签,将构建任务下发到和master节点CPU架构一致的node节点上。 新增过滤标签,请参考添加节点标签。 单击“确定”。 单击目标组件所在行“操作”列的“高级配置”。 单击,开启公网访问。 设置“公网ELB”。 选择所选环境中已经存在的绑定了弹性公网IP的弹性负载均衡(ELB)资源。 若不存在,请单击“去所选的环境里添加”,在环境编辑页面,单击“新增可选资源”,为该环境添加已创建的弹性负载均衡(ELB)资源。 若需创建弹性负载均衡(ELB)资源,请参考下表根据实际应用场景进行创建。 使用场景 参考章节 使用域名访问应用 购买共享型负载均衡器 参考购买独享型负载均衡器创建“规格”为“应用型”的ELB ELB灰度发布 参考购买独享型负载均衡器创建“规格”为“应用型”的ELB 弹性负载均衡ELB需已绑定弹性公网IP,且必须与当前组件部署环境下纳管的计算资源处于相同的虚拟私有云VPC及其子网下。 组件在不同部署环境下需绑定不同ELB,避免路由错误。 设置“对外协议”。 选择“HTTP”,会存在安全风险,建议优先选择使用安全的“HTTPS”方式。 选择“HTTPS”,单击“使用已有”选择已经创建的证书。 若证书不存在,请单击“新创建”创建新的服务器证书。创建服务器证书请参考创建证书。 设置“域名”。 选择“自动生成”,自动生成的域名仅有7天有效期。 选择“绑定域名”,在输入框中输入自定义域名。 设置“监听端口”。 输入应用进程的监听端口号。 图1 设置公网访问 设置组件的“云服务配置”参数,请参考管理容器部署组件云服务配置。 您可以执行以下操作,批量同步为组件绑定微服务引擎、分布式缓存或云数据库: 鼠标移动到指定组件已绑定的微服务引擎、分布式缓存或云数据库,单击。 勾选需要同步配置的其他组件。 单击“确定”。 仅所选组件的所属环境下已绑定了选择的微服务引擎、分布式缓存或云数据库,才会同步变更。否则,保持不变。 您可以执行以下操作,批量为组件同步删除微服务引擎、分布式缓存或云数据库: 鼠标移动到指定组件已绑定的微服务引擎、分布式缓存或云数据库,单击。 单击“同步删除”,勾选需要同步配置的其他组件,单击“确定”。 如果仅为当前组件删除已绑定的微服务引擎、分布式缓存或云数据库,单击“取消”。 您可以执行以下操作,为指定组件重新绑定微服务引擎、分布式缓存或云数据库: 鼠标移动到指定组件已绑定的微服务引擎、分布式缓存或云数据库,单击。 重新选择当前环境下已纳管的微服务引擎、分布式缓存或云数据库,单击“确定”。 设置组件的“容器配置”参数,请参考管理容器部署组件容器配置。 设置组件的“高级配置”参数,请参考管理容器部署组件高级配置。 单击“确定”。 请参考下表根据是否发布发布单执行后续操作。 是否发布发布单 操作方法 是 单击“完成并执行”,系统会自动进行高级配置预检查,检查各组件的高级配置是否正确。 如果高级配置预检查报错,请执行以下操作重新配置后再执行后续操作。 请在弹出的对话框确认问题后,单击“确定”。 单击报错组件“操作”列的“高级配置”。 参考管理容器部署组件云服务配置~管理容器部署组件高级配置,根据报错情况重新设置组件高级配置参数。 如果高级配置预检查通过,发布单中的组件会按照发布单的配置批量完成部署。 您可以查看该发布单的发布记录和发布单信息,执行克隆批量部署发布单、删除发布单操作。 否 单击“创建完成”,系统会自动进行高级配置预检查,检查各组件的高级配置是否正确。 如果高级配置预检查报错,请执行以下操作重新配置后再执行后续操作。 请在弹出的对话框确认问题后,单击“确定”。 单击报错组件“操作”列的“高级配置”。 参考管理容器部署组件云服务配置~管理容器部署组件高级配置,根据报错情况重新设置组件高级配置参数。 如果高级配置预检查通过,生成状态为“待发布”的发布单。 在“发布管理”页面,您可以查看发布单信息,执行发布待发布的发布单、克隆批量部署发布单、编辑批量部署发布单或删除发布单操作。
  • 安装Sermant Injector 登录ServiceStage控制台。 在“环境管理”页面,单击待操作环境名称。 在“资源”页签下左侧列表,选择“计算”资源类型下的资源名称“云容器引擎 CCE”。 在“配置”页签下左侧插件列表,选择Sermant Injector插件。 单击“立即安装”。 设置安装参数。 选择CCE集群:默认选择当前环境下已纳管的CCE集群。 选择关联的微服务引擎:选择待安装插件的ServiceComb引擎专享版。 单击“确定”。 Sermant Injector插件安装成功后,会创建如下表所示内容。 名称 说明 命名空间 在6选择的CCE集群,创建名为cse的命名空间。 说明: 如果6选择的CCE集群已存在名为cse命名空间,安装Sermant Injector插件时,会复用该命名空间。 配置项 在6选择的CCE集群的cse命名空间下,创建名为sermant-injector的配置项。 密钥 在6选择的CCE集群的cse命名空间下,创建名为sermant-injector-secret的密钥。 工作负载 在6选择的CCE集群的cse命名空间下,创建名为sermant-injector的工作负载。 服务 在6选择的CCE集群的cse命名空间下,创建名为sermant-injector的服务(Service)。 Sermant Injector插件安装失败,请参考重新安装Sermant Injector重试。 已安装了Sermant Injector插件的CCE集群,如果被其他环境绑定,则其他环境下需同时纳管该Sermant Injector插件所关联的ServiceComb引擎专享版。否则,会导致其他环境下Sermant Injector插件不可用。 纳管ServiceComb引擎专享版,请参考纳管基础资源。
  • 前提条件 已创建Kubernetes类型的环境,请参考创建环境。 环境中已绑定1.15以上版本的CCE集群,请参考绑定CCE集群。 已绑定的CCE集群cse命名空间下,不能存在名为sermant-injector的配置项、名为sermant-injector-secret的密钥、名为sermant-injector的工作负载或者名为sermant-injector的服务(Service),否则会导致插件安装失败。 关于命名空间,请参考管理命名空间。 关于配置项,请参考管理配置项。 关于密钥,请参考管理密钥。 关于工作负载,请参考工作负载概述。 关于Service,请参考服务概述。 环境中已纳管未开启安全认证的2.4.0及以上版本的ServiceComb引擎专享版,请参考纳管基础资源。
  • 克隆基线泳道组件到灰度泳道 登录ServiceStage控制台。 单击“全链路流量控制”。 单击待操作灰度泳道所在泳道组名称,进入“全链路流量控制”页面。 单击待操作灰度泳道卡片右上角的。 设置“发布单名称”及“描述”信息。 发布单名称:长度2到64个字符,可以包含英文字母、数字、下划线(_)或中划线(-),以英文字母开头、英文字母或数字结尾。 描述:长度不超过128个字符。 设置“激进策略”。 单击,可开启“激进策略”。遇到组件发布失败,会继续发布剩余组件。 勾选待克隆到灰度泳道的组件,单击“确定”。 参考下表批量设置待克隆组件版本配置信息。 参数名称 参数说明 组件名称 组件的名称。 长度2到64个字符,可以包含英文字母、数字、下划线(_)或中划线(-),以英文字母开头、英文字母或者数字结尾。 不同应用下的同名组件可以部署在同一个环境下。 同一个应用下的同名组件可以部署在同一个环境下的不同泳道。 同一个应用下的同名组件可以部署在不同环境下。 组件版本 组件版本号。 默认以您开始执行克隆组件操作的时间来生成版本号,格式为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。 说明: 您可以执行以下操作,批量同步设置组件版本号: 鼠标移动到指定组件的“组件版本”输入框,单击。 勾选需要同步配置组件版本号的其他组件。 单击“确定”。 所属应用 选择组件所属应用。您可以执行以下操作,批量同步设置组件所属应用: 鼠标移动到指定组件“所属应用”下拉列表框,单击。 勾选需要同步配置组件所属应用的其他组件。 单击“确定”。 所属环境 选择组件部署环境,仅可选择“Kubernetes”类型环境。 须知: 如果组件已经绑定了指定的微服务引擎、分布式缓存或云数据库实例,而为该组件重新选择的环境下并未绑定这些指定的实例,则会在高级配置预检查中报错。 您可以执行以下操作,批量同步设置组件所属环境: 鼠标移动到指定组件“所属环境”下拉列表框,单击。 勾选需要同步配置组件所属环境的其他组件。 单击“确定”。 重新设置组件所属环境后,该组件所属集群会同步变更为重新选择的环境下绑定的集群,所属命名空间会同步变更为重新选择的环境下绑定集群的default命名空间。 所属集群 选择组件部署和运行的CCE集群。 您可以执行以下操作,批量同步设置组件所属命名空间: 鼠标移动到指定组件“所属集群”下拉列表框,单击。 勾选需要同步配置组件所属集群的其他组件。 单击“确定”。 批量同步设置组件所属集群后,仅选择的组件所属环境下绑定了选择的集群,该组件所属集群才会同步变更,且所属命名空间会同步变更为重新选择的集群的default命名空间。 所属命名空间 选择执行构建的环境下CCE集群命名空间,用于隔离构建数据。关于命名空间,请参考管理命名空间。 您可以执行以下操作,批量同步设置组件所属命名空间: 鼠标移动到指定组件“所属命名空间”下拉列表框,单击。 勾选需要同步配置组件所属命名空间的其他组件。 单击“确定”。 批量同步设置组件所属命名空间后,仅所选组件的所属集群下存在选择的命名空间,该组件所属命名空间才会同步变更。 软件包/镜像包/源码仓库 单击,重新选择软件包/镜像包/源码仓库,请参考组件来源说明。 实例数 设置运行在环境下的组件实例数,取值范围为[1, 200]。 您可以执行以下操作,批量同步设置组件实例数: 鼠标移动到指定组件“实例数”输入框,单击。 勾选需要同步配置组件实例数的其他组件。 单击“确定”。 根据实际业务需要设置组件构建参数。 组件技术栈类型为Java、Tomcat、Node.js、Python、Php时可以设置。 单击目标组件所在行“操作”列的“构建”。 参考下表设置构建参数,其中带“*”标志的参数为必填参数。 参数名称 参数说明 *编译命令 组件来源是“源码仓库”时,根据业务需要设置“编译命令”。 使用默认命令或脚本:优先执行代码根目录下的build.sh,不存在则按照所选语言的通用方法编译,如Java语言的mvn clean package。 使用自定义命令:根据所选语言自定义编译命令,或修改build.sh文件后选择使用默认命令或脚本。 须知: 选择“使用自定义命令”时,请在echo、cat、debug命令中慎用敏感信息或者进行敏感信息加密,以免造成敏感信息泄露。 在项目子目录下执行编译命令,需先进入项目子目录,再执行其余脚本命令。例如: cd ./weather/ mvn clean package *Dockerfile地址 组件来源是“源码仓库”时,根据业务需要设置“Dockerfile地址”。 “Dockerfile地址”即Dockerfile文件相对于项目的根目录(./)所在的目录,Dockerfile文件用于镜像构建。 如果未指定“Dockerfile地址”,默认查找项目根目录下的Dockerfile;如果项目根目录下也没有Dockerfile文件,则根据选定的运行环境自动生成Dockerfile。 *组织 组织用于管理组件构建生成的镜像。 *构建环境 选择用于构建镜像的环境类型。执行构建的环境,必须是Kubernetes环境,且能够访问Internet。 推荐您选择“使用当前环境构建”。如果当前环境的CCE集群不能访问Internet,且您单独规划了构建环境,则可选择“使用独立环境构建”。 使用独立环境构建:可使用单独的构建环境进行镜像构建。独立构建环境CCE集群和当前组件部署环境CCE集群的CPU架构必须保持一致,否则会导致组件部署失败。 使用当前环境构建:使用组件所属的部署环境进行镜像构建。当前环境CCE集群的master节点和node节点的CPU架构必须保持一致,否则会导致组件构建失败。 *选择环境 “构建环境”选择“使用独立环境构建”时,可选择使用不同于组件所属的独立构建环境。 “构建环境”选择“使用当前环境构建”时,固定选择使用组件所属的部署环境。 *命名空间 选择执行构建的环境下CCE集群命名空间,用于隔离构建数据。关于命名空间,请参考管理命名空间。 过滤节点标签 如果存在以下情况,您需要通过设置过滤节点标签将构建任务下发到绑定了EIP的固定节点上,保证组件构建、部署成功。 “构建环境”选择“使用独立环境构建”时,需要设置过滤节点标签,将构建任务下发到独立构建环境下的node节点,保证该节点和当前组件部署环境下node节点CPU架构一致。 “构建环境”选择“使用当前环境构建”时,如果环境下有node节点和master节点CPU架构不一致,需要设置过滤节点标签,将构建任务下发到和master节点CPU架构一致的node节点上。 新增过滤标签,请参考添加节点标签。 单击“确定”。 单击目标组件所在行“操作”列的“高级配置”。 单击,开启公网访问。 设置“公网ELB”。 选择所选环境中已经存在的绑定了弹性公网IP的弹性负载均衡(ELB)资源。 若不存在,请单击“去所选的环境里添加”,在环境编辑页面,单击“新增可选资源”,为该环境添加已创建的弹性负载均衡(ELB)资源。 若需创建弹性负载均衡(ELB)资源,请参考下表根据实际应用场景进行创建。 使用场景 参考章节 使用域名访问应用 购买共享型负载均衡器 参考购买独享型负载均衡器创建“规格”为“应用型”的ELB ELB灰度发布 参考购买独享型负载均衡器创建“规格”为“应用型”的ELB 弹性负载均衡ELB需已绑定弹性公网IP,且必须与当前组件部署环境下纳管的计算资源处于相同的虚拟私有云VPC及其子网下。 组件在不同部署环境下需绑定不同ELB,避免路由错误。 设置“对外协议”。 选择“HTTP”,会存在安全风险,建议优先选择使用安全的“HTTPS”方式。 选择“HTTPS”,单击“使用已有”选择已经创建的证书。 若证书不存在,请单击“新创建”创建新的服务器证书。创建服务器证书请参考创建证书。 设置“域名”。 选择“自动生成”,自动生成的域名仅有7天有效期。 选择“绑定域名”,在输入框中输入自定义域名。 设置“监听端口”。 输入应用进程的监听端口号。 图1 设置公网访问 设置组件的“云服务配置”参数,请参考管理容器部署组件云服务配置。 您可以执行以下操作,批量同步为组件绑定微服务引擎、分布式缓存或云数据库: 鼠标移动到指定组件已绑定的微服务引擎、分布式缓存或云数据库,单击。 勾选需要同步配置的其他组件。 单击“确定”。 仅所选组件的所属环境下已绑定了选择的微服务引擎、分布式缓存或云数据库,才会同步变更。否则,保持不变。 您可以执行以下操作,批量为组件同步删除微服务引擎、分布式缓存或云数据库: 鼠标移动到指定组件已绑定的微服务引擎、分布式缓存或云数据库,单击。 单击“同步删除”,勾选需要同步配置的其他组件,单击“确定”。 如果仅为当前组件删除已绑定的微服务引擎、分布式缓存或云数据库,单击“取消”。 您可以执行以下操作,为指定组件重新绑定微服务引擎、分布式缓存或云数据库: 鼠标移动到指定组件已绑定的微服务引擎、分布式缓存或云数据库,单击。 重新选择当前环境下已纳管的微服务引擎、分布式缓存或云数据库,单击“确定”。 设置组件的“容器配置”参数,请参考管理容器部署组件容器配置。 设置组件的“高级配置”参数,请参考管理容器部署组件高级配置。 单击“确定”。 (可选)单击“高级配置预检查”,检查各组件的高级配置是否正确。 如果组件绑定了指定的微服务引擎、分布式缓存或云数据库实例,而该组件所属环境下并未绑定这些指定的实例,高级配置预检查会报错。请执行以下操作重新配置后再执行后续操作。 请在弹出的“高级配置预检查”对话框确认后,单击“确定”。 单击报错组件“操作”列的“高级配置”。 参考管理容器部署组件云服务配置,重新正确设置“微服务引擎”、“分布式缓存”、“云数据库”参数配置。 单击“下一步”,系统自动进行高级配置预检查,检查各组件的高级配置是否正确。 如果组件绑定了指定的微服务引擎、分布式缓存或云数据库实例,而该组件所属环境下并未绑定这些指定的实例,高级配置预检查会报错。请执行以下操作重新配置后再执行后续操作。 请在弹出的“高级配置预检查”对话框确认后,单击“确定”。 单击报错组件“操作”列的“高级配置”。 参考管理容器部署组件云服务配置,重新设置“微服务引擎”、“分布式缓存”、“云数据库”参数配置。 设置所选待克隆组件的“部署批次”,用于指定该组件在所有已选组件里面的部署次序。 如果已选组件之间存在依赖关系,例如某组件的启动需要依赖其他组件,则需要设置“部署批次”,使被依赖的组件优先被部署。 例如,选择了基线泳道的A、B、C三个待克隆组件,A组件的启动依赖于B、C组件。因此,需要将B、C组件的“部署批次”设置为1,将A组件的“部署批次”设置为2。 如果已选克隆组件之间不存在依赖关系,则“部署批次”可以保持默认,所有已选组件一次性被部署。 单击“完成并发布”,进入该批量克隆发布单的“发布单管理”页面。 您可以查看该发布单的发布记录和发布单信息,执行删除发布单操作。
  • 纳管基础资源 登录ServiceStage控制台。 在“环境管理”页面,单击待操作环境名称。 在“资源”下左侧列表,参考下表纳管需要纳管到环境下的资源。 资源类型 资源名称 操作方法 计算 云容器引擎 CCE 请参考绑定CCE集群。 Kubernetes类型的环境支持绑定CCE集群资源。如需管理环境下的CCE集群资源,请参考管理CCE资源。 弹性云服务器 E CS 选择“计算”资源下的“弹性云服务器 ECS”。 单击“纳管资源”。 勾选待纳管的ECS资源。 单击“确定”。 说明: 虚拟机类型的环境支持纳管ECS资源。 同一VPC下,已被其他环境纳管的ECS资源,不支持被再次纳管。 如果纳管的ECS资源Agent状态为“缺少Agent,请先安装”,请参考安装虚拟机Agent完成Agent安装。 弹性伸缩组 AS 选择“计算”资源下的“弹性伸缩组 AS”。 单击“纳管资源”。 勾选待纳管的AS资源。 单击“确定”。 说明: 虚拟机类型的环境支持纳管AS资源。 同一VPC下,已被其他环境纳管的AS资源,不支持被再次纳管。 如果纳管的AS资源下选择的ECS Agent状态为“缺少Agent,请先安装”,请参考安装虚拟机Agent完成Agent安装。 网络 弹性负载均衡 ELB 选择“网络”资源下的“弹性负载均衡 ELB”。 单击“纳管资源”。 勾选待纳管的ELB资源。 单击“确定”。 弹性公网 EIP 选择“网络”资源下的“弹性公网 EIP”。 单击“纳管资源”。 勾选待纳管的EIP资源。 单击“确定”。 中间件 分布式缓存 DCS 选择“中间件”资源下的“分布式缓存 DCS”。 单击“纳管资源”。 勾选待纳管的DCS资源。 单击“确定”。 ServiceComb引擎 选择“中间件”资源下的“ServiceComb引擎”。 单击“纳管资源”。 选择待纳管的ServiceComb资源。 单击“确定”。 云数据库 RDS 选择“中间件”资源下的“云数据库 RDS”。 单击“纳管资源”。 勾选待纳管的RDS资源。 单击“确定”。
  • 前提条件 根据实际需要创建需纳管的基础资源: 已创建环境待纳管的状态为运行中的弹性 云服务器ECS ,ECS和环境所在的VPC需要一致,且不能被其他环境纳管。 弹性云服务器ECS用于“虚拟机”类型环境下部署和运行组件。创建弹性云服务器ECS,请参考购买弹性云服务。 已创建环境待纳管的弹性伸缩组AS,AS和环境所在的VPC需要一致,且不能被其他环境纳管。且AS中已包含弹性云服务器。 弹性伸缩组AS用于“虚拟机”类型环境下部署和运行组件。创建弹性伸缩组AS,请参考创建伸缩组。 已创建环境待纳管的弹性负载均衡ELB,ELB和环境所在的VPC需要一致。 弹性负载均衡ELB用于通过ELB方式访问组件提供的服务或者进行组件ELB灰度发布。请参考下表根据实际应用场景创建弹性负载均衡ELB。 使用场景 参考章节 使用域名访问应用 购买共享型负载均衡器 参考购买独享型负载均衡器创建“规格”为“应用型”的ELB ELB灰度发布 参考购买独享型负载均衡器创建“规格”为“应用型”的ELB 已创建环境待纳管的弹性公网IP。 弹性公网IP用于通过弹性IP公网访问方式访问组件提供的服务。创建弹性公网IP,请参考申请弹性公网IP。 已创建环境待纳管的分布式缓存DCS,DCS和环境所在的VPC需要一致。 分布式缓存DCS用于在应用运行时读取环境变量来获取分布式缓存的相关信息。创建分布式缓存DCS,请参考购买Redis实例。 已创建环境待纳管的MySQL数据库引擎的云数据库RDS实例,RDS和环境所在的VPC需要一致。 云数据库RDS用于应用数据持久化存储。创建云数据库RDS,请参考步骤一:购买实例。 已创建环境待纳管的ServiceComb引擎(即微服务引擎,请参见微服务引擎概述),如果微服务引擎与环境所在VPC不一致,需正确配置VPC连通。 微服务引擎用于将运行在环境下的微服务接入引擎,实现微服务注册发现、服务治理和配置管理。创建微服务引擎,请参考创建微服务引擎。
  • 请求示例 创建AI应用。设置AI应用名称为“mnist”,版本为“1.0.0”,类型为“TensorFlow”,模型文件来源于OBS桶。 POST https://{endpoint}/v1/{project_id}/models { "model_name" : "mnist", "model_version" : "1.0.0", "source_location" : "https://models.obs.xxxxx.com/mnist", "source_job_id" : "55", "source_job_version" : "V100", "model_type" : "TensorFlow", "runtime" : "python2.7", "description" : "mnist model", "execution_code" : "https://testmodel.obs.xxxxx.com/customize_service.py", "input_params" : [ { "url" : "/v1/xxx/image", "protocol" : "http", "method" : "post", "param_name" : "image_url", "param_type" : "string", "min" : 0, "max" : 9, "param_desc" : "http://test/test.jpeg" } ], "output_params" : [ { "url" : "/v1/xxx/image", "protocol" : "http", "method" : "post", "param_name" : "face_location", "param_type" : "box", "param_desc" : "face_location param value description" } ], "dependencies" : [ { "installer" : "pip", "packages" : [ { "package_name" : "numpy", "package_version" : "1.5.0", "restraint" : "ATLEAST" } ] } ], "model_algorithm" : "object_detection", "model_metrics" : "{\"f1\":0.52381,\"recall\":0.666667,\"precision\":0.466667,\"accuracy\":0.625}", "apis" : [ { "url" : "/v1/xxx/image", "protocol" : "http", "method" : "post", "input_params" : { "type" : "object", "properties" : { "image_url" : { "type" : "string" } } }, "output_params" : { "type" : "object", "properties" : { "face_location" : { "type" : "box" } } } } ], "initial_config" : "{\"protocol\":\"http\",\"port\":\"8080\",\"health\":{\"check_method\":\"HTTP\",\"protocol\":\"http\",\"url\":\"/health\",\"period_seconds\":\"5\",\"failure_threshold\":\"10\",\"initial_delay_seconds\":\"12\"},\"readiness_health\":{\"check_method\":\"HTTP\",\"protocol\":\"http\",\"url\":\"/readiness_health\",\"period_seconds\":\"5\",\"failure_threshold\":\"20\",\"initial_delay_seconds\":\"12\"},\"startup_health\":{\"check_method\":\"HTTP\",\"protocol\":\"http\",\"url\":\"/startup_health\",\"period_seconds\":\"5\",\"failure_threshold\":\"10\",\"initial_delay_seconds\":\"12\"}}" }
  • 接口约束 使用模板导入模型与不使用模板导入这两类导入方式的Body参数要求不一样。以下Body参数说明中以模板参数表示适合使用模板导入模型时填写的参数,非模板参数表示适合不使用模板导入时填写的参数,公共参数表示与导入方式无关的参数。 使用模板导入模型时(model_type为Template),template字段必填,source_location不需要填。 不使用模板导入模型时(即model_type不为Template),source_location必填,template不需要填。
  • 灰度发布简介 “灰度发布”方式先选择一定比例的实例升级到新版本,将流量引入到新版本,验证新版本功能是否正常,然后通过滚动升级剩余的实例到新版本。可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以减少其影响度。 表1 灰度发布类型说明 类型 说明 微服务灰度发布 适用于容器部署方式部署的微服务组件(ServiceComb/Spring Cloud),灰度发布任务作用于微服务,可通过多个微服务协作,共同完成新特性的上线。 要求组件选择了Java、Tomcat或者Docker技术栈。 要求组件绑定了未开启安全认证的ServiceComb引擎且未开启多语言接入Mesher服务网格。 ServiceComb要求2.7.8及以后版本。 Spring Cloud Huawei要求1.10.4-2021.0.x及以后版本。 ELB灰度发布 适用于容器部署方式部署的通过ELB作为流量入口的任何类型组件,灰度发布任务作用于ELB。 要求在创建并部署组件时,开放了组件公网访问,请参考创建并部署组件。 需要使用独享型“规格”为“应用型”的ELB。请参考购买独享型负载均衡器。
  • 灰度发布方式重新部署组件 登录ServiceStage控制台。 选择以下任意方式进入组件“部署记录”页面: 在“应用管理”页面,单击组件所属应用名称,在“组件列表”单击待操作组件名称,在左侧导航栏单击“部署记录”。 在“组件管理”页面,单击待操作组件名称,在左侧导航栏单击“部署记录”。 在“部署记录”列表,选择待作为配置模板的历史版本部署记录。 单击在页面右上方“使用此版本重新部署”,弹出“重新部署”对话框。 “部署类型”选择“灰度发布”,单击“确定”。 参考下表设置组件版本配置信息,其中带“*”标志的参数为必填参数。 参数 说明 技术栈 固定为选择的历史版本配置,不可修改。 *软件包/镜像 固定为创建并部署组件时选择的组件来源。 选择“源码仓库”,参考仓库授权创建授权,设置代码来源。 选择软件包或者镜像包,则固定为创建并部署组件时选择的软件包类型(Jar、War、Zip)或者镜像包类型。由您选择的技术栈类型决定,具体情况请参考表1。 *上传方式 选择软件包或者镜像包,重新选择已上传的软件包/镜像包,上传方式请参考组件来源说明。 说明: 如果选择的是镜像包: 可重新自定义容器名称:长度为1到63个字符,可以包含小写英文字母、数字或中划线(-),并以小写英文字母开头,小写英文字母或数字结尾。 单击已选择的镜像包卡片右上角的,可修改镜像包来源。 *编译命令 组件来源是“源码仓库”、部署环境为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.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个字符,可以包含小写英文字母、数字或中划线(-),并以小写英文字母开头,小写英文字母或数字结尾。 资源 固定为选择的历史版本配置,不可修改。 JVM参数 固定为选择的历史版本配置,不可修改。 组件技术栈类型为Java/Tomcat时,可用于配置Java代码运行时的内存参数大小。 Tomcat配置 固定为选择的历史版本配置,不可修改。 组件技术栈类型为Tomcat时,可用于配置Tomcat请求路径、端口号等参数。 容器配置 固定为选择的历史版本配置,不可修改。 高级配置 固定为选择的历史版本配置,不可修改。 *部署架构 单击“选择”,根据业务实际情况选择灰度升级时实例部署架构。 单击“确定”。 须知: 架构选择必须匹配准确,否则会导致灰度失败,业务受损。 *灰度策略 根据业务实际情况选择灰度升级策略。 基于流量比例:根据需要灵活动态的调整不同服务版本的流量比例。 基于内容:根据请求的内容控制其流向的服务版本。 说明: ELB灰度发布,仅支持“基于流量比例”。 *选择流量比例 “灰度策略”选择“基于流量比例”时,根据业务实际情况设置版本流量比例。 灰度流量比例:引入到新版本的流量比例。 当前流量比例:引入到当前版本的流量比例。 *生效方式 “灰度策略”选择“基于内容”时,根据业务实际情况设置灰度策略生效方式。 满足任意条件:满足任意一条“匹配规则”时,灰度策略生效。 满足所有条件:满足所有“匹配规则”时,灰度策略生效。 说明: ELB灰度发布,仅支持“满足所有条件”。 *匹配规则 “灰度策略”选择“基于内容”时,根据业务实际情况设置灰度策略生效的匹配规则。 单击“添加匹配条件”。 设置“匹配类型”,当前仅支持基于“请求头”类型的匹配。 设置“参数名称”,即“匹配类型”对应的key值。 设置“条件类型”,即“条件值”满足的匹配规则。 相等:“匹配类型”对应的value值和设置的“条件值”相等。 匹配:“条件值”支持PERL兼容的正则表达式,仅微服务灰度发布支持。 枚举:多个“条件值”以逗号(,)间隔。 设置“条件值”,即“匹配类型”对应的value值。 *灰度实例新增模式 根据业务实际情况选择灰度升级时新增实例的模式。 蓝绿 先增加与老版本实例同等数量的新版本实例,按照灰度规则将流量引入新版本实例。根据灰度规则验证完成后将所有流量引入新版本,再删除老版本实例。 适用于业务容量无损、回滚快、集群中需要有剩余资源的场景。 蓝绿模式需要组件实例数量在1个或以上。 金丝雀(先增后减) 新增指定数量的新版本实例,按照灰度规则将流量引入新版本实例。根据灰度规则验证完成后循环执行“删除固定数量的老版本实例,新增固定数量的新版本实例,同时配合流量调整”,直到所有的流量引入新版本实例,所有的老版本实例被删除。 适用于业务容量无损、回滚慢、集群中需要有剩余资源的场景。 金丝雀(先增后减)模式需要组件实例数量在2个或以上。 金丝雀(先减后增) 删除指定数量的老版本实例,新增指定数量的新版本实例,按照灰度规则将流量引入新版本实例。根据灰度规则验证完成后循环执行“删除固定数量的老版本实例,新增固定数量的新版本实例,同时配合流量调整”,直到所有的流量引入新版本实例,所有的老版本实例被删除。 适用于业务容量有损、回滚慢的场景。 金丝雀(先减后增)模式需要组件实例数量在2个或以上。 说明: 如需修改组件实例数量以满足灰度升级时新增实例的模式要求,请参考设置手动伸缩策略。 *首批灰度实例数量 “灰度实例新增模式”选择“金丝雀(先增后减)”、“金丝雀(先减后增)”时,需要设置首批灰度发布的实例数量。 取值范围为[1, 当前总实例数-1]。当前总实例数,即组件当前运行的实例数量。 例如,当前组件总实例数为6,“首批灰度实例数量”参数设置为1,则表示首批升级组件版本配置的实例数量为1。 *剩余实例部署批次 “灰度实例新增模式”选择“金丝雀(先增后减)”、“金丝雀(先减后增)”时,需要设置剩余实例部署批次。即首批灰度发布成功之后,剩余实例滚动升级分多少批次完成。 例如,当前组件总实例数为6,“首批灰度实例数量”参数设置为1,且“剩余实例部署批次”设置为3。则当前剩余实例数为5,那么升级剩余实例会按照2:2:1个实例分批升级。 *缩容时间窗 您可以设置一个缩容时间窗,用于在组件实例停止前保存重要数据。取值范围为0-9999秒,默认设置为30秒。 例如某应用有两个实例,执行缩容操作,缩容后只剩一个实例,则您仍然可以在设置的时间窗内对即将要停止的实例进行某些操作。 单击“升级”。 在“部署日志”区域,可查看部署进展,等待部署完成。
  • 修改组件灰度发布策略 登录ServiceStage控制台。 选择以下任意方式进入组件“部署记录”页面: 在“应用管理”页面,单击组件所属应用名称,在“组件列表”单击待操作组件名称,在左侧导航栏单击“部署记录”。 在“组件管理”页面,单击待操作组件名称,在左侧导航栏单击“部署记录”。 在“部署记录”列表,选择待修改灰度策略的“灰度发布”类型的部署记录。 单击“修改灰度策略”,参考下表修改灰度配置。 参数名称 参数说明 灰度策略 根据业务实际情况选择灰度升级策略。 基于流量比例:根据需要灵活动态的调整不同服务版本的流量比例。 基于内容:根据请求的内容控制其流向的服务版本。 说明: ELB灰度发布,仅支持“基于流量比例”。 选择流量比例 “灰度策略”选择“基于流量比例”时,根据业务实际情况设置版本流量比例。 灰度流量比例:引入到新版本的流量比例。 当前流量比例:引入到当前版本的流量比例。 *生效方式 “灰度策略”选择“基于内容”时,根据业务实际情况设置灰度策略生效方式。 满足任意条件:满足任意一条“匹配规则”时,灰度策略生效。 满足所有条件:满足所有“匹配规则”时,灰度策略生效。 说明: ELB灰度发布,仅支持“满足所有条件”。 *匹配规则 “灰度策略”选择“基于内容”时,根据业务实际情况设置灰度策略生效的匹配规则。 单击“添加匹配条件”。 设置“匹配类型”,当前仅支持基于“请求头”类型的匹配。 设置“参数名称”,即“匹配类型”对应的key值。 设置“条件类型”,即“条件值”满足的匹配规则。 相等:“匹配类型”对应的value值和设置的“条件值”相等。 匹配:“条件值”支持PERL兼容的正则表达式,仅微服务灰度发布支持。 枚举:多个“条件值”以逗号(,)间隔。 设置“条件值”,即“匹配类型”对应的value值。 *首批灰度实例数量 “灰度实例新增模式”选择“金丝雀(先增后减)”、“金丝雀(先减后增)”时,需要设置首批灰度发布的实例数量。 取值范围为[1, 当前总实例数-1]。当前总实例数,即组件当前运行的实例数量。 例如,当前组件总实例数为6,“首批灰度实例数量”参数设置为1,则表示首批升级组件版本配置的实例数量为1。 *剩余实例部署批次 “灰度实例新增模式”选择“金丝雀(先增后减)”、“金丝雀(先减后增)”时,需要设置剩余实例部署批次。即首批灰度发布成功之后,剩余实例滚动升级分多少批次完成。 例如,当前组件总实例数为6,“首批灰度实例数量”参数设置为1,且“剩余实例部署批次”设置为3。则当前剩余实例数为5,那么升级剩余实例会按照2:2:1个实例分批升级。 单击“修改灰度策略”,等待灰度发布完成。