使用ServiceStage托管微服务应用
应用管理与运维平台(ServiceStage)是面向企业的应用管理与运维平台,提供应用发布、部署、监控与运维等一站式解决方案。支持Java、Php、Python、Node.js、Docker、Tomcat技术栈。支持Apache ServiceComb Java Chassis(Java Chassis)、Spring Cloud等微服务应用,让企业应用上云更简单。
ServiceStage提供了环境管理功能,把相同VPC下的计算资源(如云容器引擎CCE、弹性云服务器ECS等)、网络资源(如弹性负载均衡ELB、弹性IP等)和中间件(如分布式缓存DCS、云数据库RDS、微服务引擎CSE等)组合为一个环境,部署应用时选择环境会自动加载包含的资源。
应用是一个功能相对完备的业务系统,由一个或多个特性相关的组件组成。
组件是组成应用的某个业务特性的实现,以代码或者软件包为载体,可独立部署运行。
针对组件,ServiceStage提供了启停、升级、回退、伸缩、查看日志、查看事件、设置访问方式、设置阈值告警等运维操作。
本例基于ServiceComb(SpringMVC)框架,基于源码快速创建微服务应用,供您体验ServiceStage的功能。
ServiceStage基于GitHub提供了一些不同语言的demo。体验特定语言demo在ServiceStage中的源码部署功能,请参考如何体验ServiceStage的源码部署功能?
前提条件
- 已注册华为账号并开通华为云。
- 当前登录账号拥有使用ServiceStage服务的权限。账号权限授权与绑定,请参考创建用户并授权使用ServiceStage。
- 创建一个虚拟私有云VPC,请参考创建虚拟私有云和子网。
- 创建一个CCE集群,请参考购买集群。
创建仓库授权
- 使用已注册的华为云账号登录ServiceStage控制台。
- 在区域列表选择您准备使用ServiceStage的区域(例如:亚太-新加坡)。
图2 登录ServiceStage控制台
- 选择 。
- 单击“新建授权”,进入创建仓库授权页面。
- “授权名称”保持默认。
- 设置“仓库授权”。
- 选择“GitHub”仓库。
- “授权方式”选择“OAuth”。
- 单击“使用OAuth授权”。
- 阅读了解服务声明后,勾选“我已知晓本服务的源码构建功能收集上述信息,并同意授权对其的收集、使用行为。”。
- 单击“确定”。
- 输入您的GitHub账号及密码登录GitHub完成身份认证,等待授权完成。
- 单击“确认”,在仓库授权列表可以查看到已经创建完成的授权。
图3 仓库授权
创建微服务引擎专享版
如果引擎创建账号的权限为创建引擎的最小权限,如CSE细粒度权限依赖说明中的“cse:engine:create”所示。则需要由主账号为其预置VPC默认安全组cse-engine-default-sg,请参考创建微服务引擎。
- 选择 。
- 单击“购买微服务引擎”,参考下表设置引擎配置参数。
- 单击“立即购买”。
- 确认引擎配置无误后,单击“提交”。
微服务引擎创建完成,大约需要31分钟。微服务引擎创建成功后,“状态”为“可用”。
图4 创建微服务引擎
创建环境
- 选择“环境管理 > 创建环境”,参照下表设置必要环境参数,其余参数保持默认。
参数
参数说明
环境名称
输入环境名称(例如:env-test)。
企业项目
默认选择default。
企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。
已开通企业项目后可以使用。
环境类型
选择“Kubernetes”。
高可用环境
选择“否”。
虚拟私有云(VPC)
选择前提条件中已准备好的虚拟私有云VPC。
说明:环境创建完成后,不支持修改VPC。
配置模式
选择“纳管资源”。
图5 创建环境
- 单击“立即创建”,进入环境“概览”页面。
- 选择“计算”资源类型下的“云容器引擎 CCE”,单击“立即绑定”。
- 在弹出的对话框中,选择前提条件中已创建的CCE集群资源,单击“确定”。
- 选择“中间件”资源类型下的“ServiceComb引擎”,单击“纳管资源”。
- 在弹出的对话框中,选择创建微服务引擎专享版时创建的ServiceComb引擎资源,单击“确定”。
创建应用
- 单击左上角,返回“环境管理”页面。
图6 返回“环境管理”页面
- 选择“应用管理 > 创建应用”,参考下表设置应用基本信息,其余参数保持默认。
参数
参数说明
应用名称
输入应用名称(例如:servicecomb)。
企业项目
默认选择default。
企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。
已开通企业项目后可以使用。
- 单击“确定”,完成应用创建。
图7 创建应用
创建并部署组件
- 单击创建应用时创建的应用名称(例如:servicecomb)所在“操作”列“新增组件”,进入“创建组件”页面。
图8 进入“创建组件”页面
- 在“基本信息”区域,参考下表设置必填组件基本信息,其余参数保持默认。
参数
说明
组件名称
输入组件名称(例如:java-test)。
组件版本
输入1.0.0。
所属应用
选择创建应用时创建的应用(例如:servicecomb)。
所属环境
选择创建环境时创建的环境(例如:env-test)。
命名空间
选择default命名空间,用于隔离组件实例。
图9 设置组件基本信息
- 在“组件包”区域,设置如下组件包必填参数,其余参数保持默认。
- “技术栈”选择“Java”。
- “源码/软件包”选择“源码仓库”。
- 选择“GitHub”源码仓库。
- “授权信息”选择创建仓库授权时创建的仓库授权名称。
- “用户名/组织”选择注册GitHub账号并复刻Demo源码时创建的GitHub账号。
- “仓库名称”选择注册GitHub账号并复刻Demo源码时复刻的Demo源码仓库名称“ServiceComb-SpringMVC”。
- “分支”选择“master”。
图10 设置组件来源
- 在“构建”区域,参考下表设置必填构建参数,其余参数保持默认。
参数
说明
组织
选择创建组织时创建的组织的名称(例如:ss-org)。
组织用于管理组件构建生成的镜像。
构建环境
选择“使用当前环境构建”,使用组件所属的部署环境中的CCE集群进行镜像构建。
当前环境CCE集群的master节点和node节点的CPU架构必须保持一致,否则会导致组件构建失败。
命名空间
选择default命名空间,用于隔离构建数据。
图11 设置构建参数
- 单击“下一步”。
- “资源”区域,参考下表设置参数。
参数
说明
资源需求
取消勾选“CPU配额”和“内存配额”,表示不限制资源需求。
实例数
设置为1。
图12 设置组件实例“资源”参数
- 绑定微服务引擎。
- 选择 。
- 单击“绑定微服务引擎”。
- 选择当前环境下已纳管的ServiceComb引擎专享版。
- 单击“确定”。
图13 绑定微服务引擎
- 单击“创建并部署”,等待组件部署完成。
图14 组件部署成功
确认部署结果
- 单击左上角,返回“组件管理”页面。
图15 返回“组件管理”页面
- 选择 。
- 在微服务引擎下拉列表选择创建环境时纳管的微服务引擎。
- 在“微服务列表”页签的“全部应用”下拉列表中选择springmvc应用。
如果存在已部署的servicecombspringmvc微服务,且微服务实例数为1,则表示组件实例成功接入微服务引擎。
图16 确认部署结果
访问应用
- 单击“应用管理”,进入应用列表。
- 单击创建应用时创建的应用名称(例如:servicecomb),进入“应用概览”页。
- 在“组件列表”区域,单击创建并部署组件时创建的组件名称(例如:java-test),进入组件“概览”页。
- 单击“访问方式”。
- 单击“TCP/UDP路由配置”区域的“添加服务”,参考下表设置参数。
参数
参数说明
服务名称
使用默认。
访问方式
选择“公网访问”。
访问类型
选择“弹性IP”。
服务亲和
保持默认。
端口映射
- 协议:选择“TCP”。
- 容器端口:输入8080。
- 访问端口:选择“自动生成”。
图17 添加访问方式
- 单击“确定”,生成访问地址。
- 单击图18所示“访问地址”列下的访问地址,访问应用。
返回如下结果:
{"message":"Not Found"}
- 在浏览器地址栏输入http://6生成的访问地址/rest/helloworld?name=ServiceStage,再次访问应用。
可以返回如下结果:
"ServiceStage"