配置微服务网关¶
微服务网关提供路由转发,安全管理相关能力。可利用微服务网关,管理 Dev Portal 和 App Portal 域名下的请求转发以及对服务级的路由配置隔离管理。
微服务网关收到访问流量时,根据配置的路由规则判断是否匹配并决定后续的请求转发。
本文章介绍应用开发人员如何为应用配置微服务网关。
新建路由规则¶
前提条件¶
在新建路由规则之前,需要完成应用创建和基本信息配置。详细步骤,参见 新建应用。
配置路由规则基本信息¶
通过以下步骤为应用新建路由配置:
在项目列表中,点击项目名称,进入项目空间。
在左侧导航栏中,选择 微服务网关 > 路由。
点击 新建路由,并在 基本信息 一栏中,完成路由的基础配置信息:
应用:从已创建应用列表中,选择为目标应用创建路由。
环境:选择应用使用环境。
集群:选择部署应用的集群。
名称:输入路由名称,以应用名称作为固定前缀,路由名称不可重复。
描述:输入关于该路由的信息描述。
点击 下一步,填写 API 请求配置信息。
请求协议:选择路由规则需要匹配的请求协议。现支持 http 与 https (可多选)。
请求域名:选择路由规则需要匹配的请求 Host。现支持 Dev Portal、App Portal、ECP 与 DOCS。
请求路径:填写路由规则需要匹配的 API 请求路径。支持前缀模糊匹配,例如,指定路径为
/docs/enos
时,可以匹配到/docs/enos/api
。匹配时会优先匹配更加具体的路径,例如/docs/enos/api/overview
将优先于/docs/enos/api
。剥离请求路径:开启表示转发到后端时,去除符合请求路径的前缀,如请求路径为
/app/demo
,当请求/app/demo/param
时将变更为/param
路由到后端服务,默认关闭。
点击 下一步,填写后端服务配置信息。
服务来源:选择路由规则指向的目标服务来源,默认将 Kubernetes Service 作为目标服务,则继续选择应用对应的 Service 资源。也可将外部服务作为目标服务来源,则需输入完整服务地址。
服务协议:服务来源为 Kubernetes Service 时,Service 提供的服务协议。
服务:应用所属的 Service 资源。若应用未配置 Service 则需先创建。
服务端口:应用所属的 Service 资源中配置的可访问的端口。
服务请求路径:请求后端服务的路径。
高级设置
连接超时:请求后端服务时,建立连接的最长等待时间。
读取超时:请求后端服务时,读取数据的最长等待时间。
写入超时:请求后端服务时,写入数据的最长等待时间。
重试次数:请求超时后的自动重试的次数。
点击 完成,完成新路由创建。
批量操作路由规则¶
当应用发布到新环境,应用相关的路由规则可通过批量操作的导出 / 导入功能创建。
导出路由规则¶
在项目列表中,点击项目名称,进入项目空间。
在左侧导航栏中,选择 微服务网关 > 路由。
点击 批量操作 > 导出,选择需要导出的应用和环境、集群。
点击 确定 下载文件。导出文件格式为 yaml ,包含应用下所有路由的 Kubernetes 资源。
导入路由规则¶
在项目列表中,点击项目名称,进入项目空间。
在左侧导航栏中,选择 微服务网关 > 路由。
点击 批量操作 > 导入,选择需要导入的环境、集群,并上传 yaml 格式文件。
点击 确定,完成导入后显示导入结果。如导入文件中的某个路由已存在,将会覆盖更新。
配置路由规则¶
可在路由详情页中,为路由规则鉴权、流量控制与请求日志。
鉴权¶
目前支持 Cloud IAM 与开发者工作室 IAM 鉴权:配置此鉴权方式后,当网关接收到符合路由规则的请求时,将拦截请求并向 Cloud IAM 或开发者工作室 IAM 发起身份验证,判断请求中携带的用户身份是否有效。若身份验证不通过则网关直接返回,不再向后端服务继续请求。
备注
对一些符合路由规则的具体请求路径可设置免鉴权。
流量控制¶
可设置路由请求数最大值,超过请求频率则拒绝请求。目前支持每秒请求次数设置。
请求日志¶
支持根据请求方法开发记录请求日志,对不需要进行记录的请求路径可额外配置免记录路径名单。
开启请求后可根据请求时间,请求用户名称和请求路径关键字进行查询。
备注
请求路径关键字:日志存储组件将对路径进行分词索引,如路径为 /demo/index-app 时,可尝试输入 demo、index、app 检索。
关闭请求日志的配置后不可再进行日志查询。