应用网关添加ServiceComb引擎中的服务并为其配置路由策略
CSE应用网关是各类应用的流量入口,是基于Envoy项目增强的云上托管类网关产品,实现Ingress与微服务网关合一的全新形态。您可以为微服务创建一个应用网关,通过从ServiceComb引擎、Nacos引擎、固定地址或CCE中添加服务,然后在应用网关中为服务创建路由策略,以便该服务通过网关对外提供服务。
- 准备工作
您需要完成注册华为云并实名认证、为账户充值、为用户添加操作权限、创建VPC、子网和独享型负载均衡器、ServiceComb引擎创建、获取demo包和本地构建编译打包环境的准备工作。
- 创建应用网关
在创建网关时,您可以根据实际业务需要,选择合适的网关规格、可用区和网络等。
- 应用网关为服务配置路由策略
本指导以通过从ServiceComb引擎添加服务并为该服务配置路由策略。
准备工作
- 注册华为云并实名认证。
如果您已有一个华为账户,请跳到下一个任务。如果您还没有华为账户,请参考以下步骤创建。
- 打开华为云官网,单击“注册”。
- 根据提示信息完成注册,详细操作请参见注册华为账号并开通华为云。
注册成功后,系统会自动跳转至您的个人信息界面。
- 参考实名认证完成个人或企业账号实名认证。
- 为账户充值。
- 为用户添加操作权限。
用户在创建依赖资源和应用网关前,需要具备相应的操作权限。添加用户权限的操作,请参考创建用户并授权使用微服务引擎。
创建应用网关需要保证用户具有ELB FullAccess权限。
- 创建ServiceComb引擎、VPC、子网和独享型负载均衡器。
- 应用网关、ServiceComb引擎运行于虚拟私有云(VPC)中,并需要绑定具体的子网。创建应用应用网关和ServiceComb引擎前,需保证有可用的虚拟私有云和子网。创建虚拟私有云和子网的方法,请参考创建虚拟私有云和子网。如果已有可用的VPC和子网,不需要再次创建。
ServiceComb引擎同应用网关所在VPC相同。
- 应用网关可以从ServiceComb添加服务,因此需要有创建好的ServiceComb引擎。创建ServiceComb引擎具体操作请参考创建ServiceComb引擎。
- 应用网关的运行依赖于独享型负载均衡器,创建应用网关前,需保证已创建了独享型负载均衡器,创建独享型负载均衡器请参考创建独享型负载均衡器。
- 应用网关、ServiceComb引擎运行于虚拟私有云(VPC)中,并需要绑定具体的子网。创建应用应用网关和ServiceComb引擎前,需保证有可用的虚拟私有云和子网。创建虚拟私有云和子网的方法,请参考创建虚拟私有云和子网。如果已有可用的VPC和子网,不需要再次创建。
- 本地编译构建打包机器环境已安装了Java JDK、Maven,并且能够访问Maven中央库。
- 下载github的jar包:unit-controller.jar、unit-consumer.jar、unit-provider.jar,参考Spring Cloud应用通过Spring Cloud Huawei SDK接入ServiceComb引擎将应用接入ServiceComb引擎,如下图所示。
图1 应用接入ServiceComb
创建应用网关
- 进入购买应用网关页面。
- 参考下表设置参数,参数前面带*号的是必须设置的参数。创建应用网关所需参数的详细介绍请参考创建应用网关。
表1 创建应用网关参数 参数
说明
*企业项目
选择应用网关所在的企业项目。企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。此处默认选择“default”。
*引擎名称
输入应用网关名称,名称以字母开头,由字母、数字和-组成,且不能以-结尾,长度为3~64个字符。如:microGateway-test。
产品版本
目前只支持专业版。
*规格
选择实例规格,此处选择“小型”规格。
可用区
您可根据实际情况选择可用区。
版本
只能创建最新版本。
节点数
选择网关的节点数量,节点数量不少于2个。
入口网络
选择已创建的虚拟私有云及子网,可在下拉框中搜索和选择合适的虚拟私有云和子网。此VPC子网用于选择可用的弹性负载均衡,需与后端VPC子网网络互通,具体操作请参考对等连接。
说明:当应用网关创建完成后,不支持变更虚拟私有云。
*弹性负载均衡
选择已创建的弹性负载均衡。此弹性负载均衡与入口网络属于同一个VPC子网。
说明:- 当前仅支持独享型网络型负载均衡器。会使用所选ELB的80、443端口,如果选择的负载均衡器已经占用了部分端口,会创建失败。
- ELB被应用网关使用后,为其配置的用于应用网关使用的监听器(即监听器名称中包含应用网关名称)及其关联的后端服务器组和后端服务器均不允许被删除。
后端网络
虚拟私有云可以为您的引擎构建隔离的、用户自主配置和管理的虚拟网络环境。
选择已创建的虚拟私有云及子网,可在下拉框中搜索和选择合适的虚拟私有云和子网。默认同入口网络一致。若同入口网络不一致时,需要打通网络。
说明:- 当应用网关创建完成后,不支持变更虚拟私有云。
- 各VPC网段不冲突。
- 当前端ELB与后端网络不同VPC时,需开启ELB的跨VPC后端,具体操作请参考跨VPC后端。
- 单击“立即购买”,网关开始创建,当“运行状态”为“可用”时,应用网关创建完成。
应用网关创建成功后,“运行状态”为“可用”。查看应用网关状态,请参考查看应用网关基本信息。
应用网关为服务配置路由策略
- 登录微服务引擎控制台。
- 在左侧导航栏选择“应用网关”。
- 单击创建好的且状态为可用的应用网关实例,进入应用网关基础信息界面。
- 选择“ 路由管理 > 服务来源”,单击“ 创建来源”,选择“来源类型”为“CSE ServiceComb引擎”,输入“来源名称”,选择已部署了组件的ServiceComb引擎,单击“确定”。
- 选择“ 路由管理 > 服务管理”,单击“ 创建服务”,选择“来源类型”为“CSE ServiceComb引擎”,选择4中创建的服务来源,“服务列表”选择“unit-controller”,单击“确定”。
- 选择“ 路由管理 > 路由配置”,单击“ 创建路由”,输入路由名称,勾选域名“*”,在“路径(Path)”中,匹配规则选择“前缀匹配”,服务地址输入“/”,“请求方法”选择“GET”,“目标服务”选择“unit-controller”,“权重”输入100,单击“保存并发布”。
- SSH远程登录CCE集群的节点,进行curl命令检查:“curl http://{网关ELB的内网IP}/{路径} ”。
其中参考查看应用网关信息获取ELB内网IP。图2 ELB内网IP
执行命令curl http://192.168.0.194/unit-controller/hello 返回结果包含controller组件信息。
图3 获取组件信息