使用ServiceStage托管微服务应用
应用管理与运维平台(ServiceStage)是面向企业的应用管理与运维平台,提供应用发布、部署、监控与运维等一站式解决方案。支持Java、PHP、Python、Node.js、Docker、Tomcat技术栈。支持Apache ServiceComb Java Chassis(Java Chassis)、Spring Cloud等微服务应用,让企业应用上云更简单。
本例基于ServiceComb(SpringMVC)框架,基于源码快速创建微服务应用,供您体验ServiceStage的功能。
- 步骤一:注册GitHub账号并复刻Demo源码
- 步骤二:创建仓库授权
- 步骤三:创建组织
- 步骤四:创建微服务引擎专享版
- 步骤五:创建环境
- 步骤六:创建应用
- 步骤七:创建并部署组件
- 步骤八:确认部署结果
- 步骤九:访问应用
前提条件
- 已注册华为账号并开通华为云。
- 当前登录账号拥有使用ServiceStage服务的权限。账号权限授权与绑定,请参考创建用户并授权使用ServiceStage。
- 创建一个虚拟私有云VPC,请参考创建虚拟私有云和子网。
- 创建一个CCE集群,请参考购买集群。
- CCE集群所在VPC为已经创建好的VPC。
- 集群中至少包含一个4vCPUs、8GB内存的ECS节点,并且绑定弹性IP。为CCE集群添加节点,请参考创建节点。
步骤二:创建仓库授权
- 使用已注册的华为云账号登录ServiceStage控制台。
- 在区域列表选择您准备使用ServiceStage的区域(例如:华北-北京四)。 图2 选择服务所在区域
- 在左侧导航栏选择。
- 单击右上角的“新建授权”,进入创建仓库授权页面。
- “授权名称”保持默认。
- 设置“仓库授权”。
- 选择“GitHub”仓库。
- “授权方式”选择“OAuth”。
- 单击“使用OAuth授权”。
- 阅读了解服务声明后,勾选“我已知晓本服务的源码构建功能收集上述信息,并同意授权对其的收集、使用行为。”。
- 单击“确定”。
- 输入您的GitHub账号及密码,登录GitHub完成身份认证。
- 在弹出的完成授权确认对话框单击“确认”,在仓库授权列表可以查看到已经创建完成的授权。
步骤三:创建组织
- 在左侧导航栏选择“部署源管理 > 组织管理”。
- 单击“创建组织”,在弹出的页面中填写“组织名称”(例如:ss-org)。
- 单击“确定”。
可以在“组织管理”页面查看已经创建成功的组织。
步骤四:创建微服务引擎专享版
如果引擎创建账号的权限为创建引擎的最小权限,如CSE细粒度权限依赖说明中的“cse:engine:create”所示。则需要由主账号为其预置VPC默认安全组“cse-engine-default-sg”,请参考创建微服务引擎。
- 在左侧导航栏选择。
- 单击“购买微服务引擎”,参考下表设置引擎配置参数。
参数
示例
参数说明
计费模式
选择“按需计费”。
选择计费方式。
企业项目
默认选择default。
选择微服务引擎所在的项目,可在下拉框中搜索和选择需要的企业项目。
企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。
已开通企业项目后可以使用。
规格
保持默认选择。
选择微服务实例数配额。您可根据需要托管的微服务实例数量,选择相应的实例数,不同微服务实例数配额的微服务引擎实例会赠送相应数量的配置条目数配额和最大支持微服务版本总数。
引擎类型
选择“集群”。
选择微服务引擎的类型。
引擎类型为集群,其为集群模式部署,主机级容灾。
微服务引擎名称
cse-test
输入微服务引擎的名称,名称以字母开头,由字母、数字和-组成,且不能以-结尾,长度为3~24个字符。引擎创建后不能修改名称。微服务引擎名称不允许命名为“default”。
可用区
为微服务引擎选择1个可用区。
选择可用区。
网络
为微服务引擎选择前提条件中已经创建的虚拟私有云及其子网。
为微服务引擎选择虚拟私有云及其子网,可以为您的引擎构建隔离的、自主配置和管理的虚拟网络环境。
安全认证
选择“关闭安全认证”。
开启了“安全认证”的微服务引擎专享版,通过微服务引擎控制台提供了基于RBAC(Role-Based Access Control,基于角色的访问控制)的系统管理功能。
- 单击“立即购买”。
- 确认引擎配置无误后,单击“提交”。
微服务引擎创建完成,大约需要31分钟。微服务引擎创建成功后,“状态”为“可用”。
图3 创建微服务引擎
步骤五:创建环境
- 在左侧导航栏选择“环境管理 > 创建环境”,参照下表设置必要环境参数,其余参数保持默认。
参数
示例
参数说明
环境名称
env-test
环境的名称,在同一个“企业项目”下需保持唯一。
长度为2到64个字符,可以包含英文字母、数字、下划线(_)或中划线(-),以英文字母开头、英文字母或者数字结尾,英文字母区分大小写。
企业项目
默认选择default。
企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。
已开通企业项目后可以使用。
环境类型
选择“Kubernetes”。
- “虚拟机”:适用于虚拟机部署方式,组件以软件包方式部署在弹性云服务器ECS或者自定义服务器中。
- “Kubernetes”:适用于容器部署方式(云容器引擎部署),组件以容器镜像方式通过Kubernetes调度部署。
- “虚拟机+Kubernetes”:适用于在同一个环境下使用虚拟机部署方式或者容器部署方式创建部署组件。
高可用环境
选择“否”。
- 是:创建Kubernetes类型高可用环境,用于为应用提供同城双活高可用能力,适用于部署需要满足同城高可用需求的应用。
- 否:创建Kubernetes类型非高可用环境,适用于部署不需要同城高可用的应用。
虚拟私有云(VPC)
选择前提条件中已准备好的虚拟私有云VPC。
环境资源所在VPC。
环境创建完成后,不支持修改VPC。
配置模式
选择“纳管资源”。
“纳管资源”:将已经创建的基础资源纳管到环境中。
图4 创建环境
- 单击“立即创建”,进入环境“概览”页面。
- 选择“计算”资源类型下的“云容器引擎 CCE”,单击“立即绑定”。
- 在弹出的对话框中,选择前提条件中已创建的CCE集群资源,单击“确定”。
- 选择“中间件”资源类型下的“ServiceComb引擎”,单击“纳管资源”。
- 在弹出的对话框中,选择步骤四:创建微服务引擎专享版时创建的ServiceComb引擎资源,单击“确定”。
步骤六:创建应用
- 单击左上角
,返回“环境管理”页面。 图5 返回“环境管理”页面
- 选择“应用管理 > 创建应用”,参考下表设置应用基本信息,其余参数保持默认。
参数
示例
参数说明
应用名称
servicecomb
应用名称必须唯一,不能重复。
长度2到64个字符,可以包含英文字母、数字、下划线(_)或中划线(-),以英文字母开头、英文字母或者数字结尾。
企业项目
默认选择default。
企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。
已开通企业项目后可以使用。
- 单击“确定”,完成应用创建。 图6 创建应用
步骤七:创建并部署组件
- 在步骤六:创建应用时创建的应用名称(例如:servicecomb)“操作”列,选择,进入“创建组件”页面。 图7 进入“创建组件”页面
- 在“基本信息”区域,参考下表设置必填组件基本信息,其余参数保持默认。
参数
示例
参数说明
组件名称
java-test
组件的名称,组件创建并部署后不支持修改。
长度2到64个字符,可以包含英文字母、数字、下划线(_)或中划线(-),以英文字母开头、英文字母或者数字结尾。
组件版本
1.0.0
组件版本号,支持自动生成和自定义版本号。
所属应用
选择步骤六:创建应用时创建的应用(例如:servicecomb)。
组件所属应用。
所属环境
选择步骤五:创建环境时创建的环境(例如:env-test)。
组件部署环境。
命名空间
选择default。
选择组件实例所在容器命名空间,用于隔离组件实例。
图8 设置组件基本信息
- 在“组件包”区域,设置如下组件包必填参数,其余参数保持默认。
- “技术栈”选择“Java”。
- “源码/软件包”选择“源码仓库”。
- 选择“GitHub”源码仓库。
- “授权信息”选择步骤二:创建仓库授权时创建的仓库授权名称。
- “用户名/组织”选择步骤一:注册GitHub账号并复刻Demo源码时创建的GitHub账号。
- “仓库名称”选择步骤一:注册GitHub账号并复刻Demo源码时复刻的Demo源码仓库名称“ServiceComb-SpringMVC”。
- “分支”选择“master”。
图9 设置组件来源
- 在“构建”区域,参考下表设置必填构建参数,其余参数保持默认。
参数
示例
参数说明
组织
选择步骤三:创建组织时创建的组织的名称(例如:ss-org)。
组织用于管理组件构建生成的镜像。
构建环境
选择“使用当前环境构建”。
使用组件所属的部署环境中的CCE集群进行镜像构建。当前环境CCE集群的master节点和node节点的CPU架构必须保持一致,否则会导致组件构建失败。
命名空间
选择default。
选择执行构建的环境下集群命名空间,用于隔离构建数据。
图10 设置构建参数
- 单击“下一步”。
- “资源”区域,参考下表设置参数。
参数
示例
参数说明
资源需求
取消勾选“CPU配额”和“内存配额”。
您可以根据需要自定义“CPU配额”和“内存配额”,设置组件运行可以使用的最大/最小CPU核数(Core)和内存数量(GiB),从而选择性地为每个组件的实例设定所需要的资源数量。如需修改,请勾选待修改项后输入新的配置值。不勾选表示不限制。
实例数
1
设置运行在环境下的组件实例数,取值范围为[1,200]。
图11 设置组件实例“资源”参数
- 绑定微服务引擎。
- 选择。
- 单击“绑定微服务引擎”。
- 选择当前环境下已纳管的ServiceComb引擎专享版。
- 单击“确定”。
图12 绑定微服务引擎
- 单击“创建并部署”,等待组件部署完成。 图13 组件部署成功
步骤八:确认部署结果
- 单击左上角
,返回“组件管理”页面。 图14 返回“组件管理”页面
- 选择。
- 在微服务引擎下拉列表选择步骤五:创建环境时纳管的微服务引擎。

- 在“微服务列表”页签的“全部应用”下拉列表中选择springmvc应用。
如果存在已部署的servicecombspringmvc微服务,且微服务实例数为1,则表示组件实例成功接入微服务引擎。
图15 确认部署结果
步骤九:访问应用
- 单击“应用管理”,进入应用列表。
- 单击步骤六:创建应用时创建的应用名称(例如:servicecomb),进入“应用概览”页。
- 在“组件列表”区域,单击步骤七:创建并部署组件时创建的组件名称(例如:java-test),进入组件“概览”页。
- 单击“访问方式”。
- 单击“TCP/UDP路由配置”区域的“添加服务”,参考下表设置参数。
参数
示例
参数说明
服务名称
使用默认。
服务的名称。
长度为1到63个字符,由小写英文字母、数字或中划线(-)组成,以小写英文字母开头、以小写字母或者数字结尾。
访问方式
选择“公网访问”。
提供支持TCP/UDP协议的Internet访问入口,包含弹性IP方式。
访问类型
选择“弹性IP”。
设置服务的访问类型。
服务亲和
保持默认。
设置服务的服务亲和。
端口映射
- 协议:选择“TCP”。
- 容器端口:输入8080。
- 访问端口:选择“自动生成”。
设置服务的协议、容器端口及访问端口。
图16 添加访问方式
- 单击“确定”,生成访问地址。
- 单击图17所示“访问地址”列下的访问地址,访问应用。 返回如下结果:
{"message":"Not Found"} - 在浏览器地址栏输入http://6生成的访问地址/rest/helloworld?name=ServiceStage,再次访问应用。
可以返回如下结果:
"ServiceStage"


