产品介绍
什么是 Skoala-gateway?
Skoala-gateway 是 DCE 5.0 云原生平台上微服务引擎 Skoala 模块内的微服务网关产品,基于云原生平台之上,提供了云原生微服务的南北向流量治理的分布式网关中间件,Skoala-gateway 原生提供了 API 管理、接口限流、多种策略安全认证、黑白名单、路由转发、MockAPI 等能力,同时提供了企业级高性能和高扩展的云服务能力。 Skoala-gateway 采用了业界领先的主流微服务网关开源项目 Contour 和 Envoy 的能力,可以做到全面兼容市面上主要的原生平台,如 Kubernetes、OpenShift 等,并保持着良好的后续迭代优势。 ![image.png](../assets/qwoqr6/1656640383767-868c5dfc-73db-4cbe-8c93-5fa4aa8a2799.png
Skoala-gateway 能力介绍
什么是微服务网关?
微服务网关作为云原生微服务的 API 统一的外部流量入口,网关承接了所有访问微服务 API 的请求,所以肩负着保护、增强和控制对于微服务的安全访问、管理授权、访问控制和流量限制等,这样微服务就会被微服务网关保护起来,对所有的调用者透明。因 此,隐藏在 Skoala-gateway 后面的业务系统就可以更加专注于业务本身。 在云原生时代,采用统一的微服务网关来完成对外的流量治理、流量分发、鉴权能力等,这样微服务本身可以关注在业务内容背身;对于网络管理和安全这些基础能力,重复在不同的微服务实现成本极高且维护不变,另外微服务内无法很好的实现流量的治理,所以将流量管理和认证管理的能力,使用独立的微服务中间件来完成,会极大提升系统的自由度和专业性。
产品优势
- 多实例管理能力:只需简单的 2 个步骤,即可完成一个网关实例的部署,支持多实例聚合管理
- **完美兼容开源:**100% 兼容开源网关,开箱即用,用户从自建网关迁移无门槛
- 强大的界面 UI:100% 网关功能支持 UI 操作和可视化查看,提供现今的网关结构拓扑,网关数据可视化,一目了然
- **高性能高可靠:**依托于云原生平台,支持动态部署,无缝扩缩容,轻松应对流量洪峰
- 强大的集成能力:
- 服务发现:依托于 DCE5.0 Skoala 微服务引擎和 Kpanda 容器服务,无缝集成容器和微服务体系,同时支持支持 Nacos、Mesh、Eureka、Zookeeper、K8s 等多种服务发现方式,均可实现自动发现
- 日志监控:依托于 DCE5.0 Insight 产品提供强大的监控预警和完善的日志追 踪能力,极大提升问题排查分析效率
应用场景
微服务网关提供多网关的高效管理能力,在 Contour 的基础上增加界面操作能力,大大降低了使用门槛和维护成本,而基于 DCE5.0 产品平台,您可以无感的实现多网关实例的管理;这样可以研发团队仅需关注对应网关的业务规则和业务逻辑,而不需关注网关的实现。
需要 不同的项目组和集群需要独立的网关
Skoala-gateway 原生支持多实例部署能力,当您存在较多集群和多项目同时对微服务网关有依赖时,而不希望所有项目在一个网关造成服务瓶颈或者网关资源开销过大,建议您采用 Skoala-gateway 微服务网关,您可以非常方便在不同集群和不同项目之间进行创建独立的网关,网关实例之间互相隔离,提高网关的可用性和稳定性。
需要 针对 API 级别进行精细化认证和限流管理
Skoala-gateway 原生支持针对 API 级别的限流控制,您只需要在 SKoala-gateway 内的插件中心,为网关实例开启限流服务,便可以在不同的 API 或 API 分组中,创建对应的限流策略,并且支持不同级联层级的网关限流控制
名词说明
对 Skoala-gateway 提及的专有名词进行解释,所有文档应保持相同定义
名词 | 释义 |
---|---|
DCE 5.0 | 由 DaoCloud 自主研发的新一代云原 生服务平台,包含了 Kpanda、Insight、Ghippo、Skoala 等众多强大产品模块 |
目前已迭代到 第五代,下文简称“DCE5.0” | |
Skoala | DCE5.0 产品模块中负责 微服务引擎和流量治理、网关能力,承接全部云原生平台南北流量和东西流量的分配和治理能力,原生支持多实例网关联合管理 |
Skoala-gateway | Skoala 产品内负责南北向流量治理的产品模块,支持跨集群服务发现和详细化路由管理等能力 |
Kpanda | DCE5.0 产品模块中负责 容器集群的管理平台,支持接入和创建全部主流的云原生容器平台 |
Insight | DCE5.0 产品模块中负责 监控告警和日志管理模块,承接了整个 DCE 平台所有服务模块的日志和监控诉求,为 Skoala 提供了全生命周期的日志管理能力 |
Ghippo | DCE5.0 产品模块中负责 账号及权限、资源分配模块;创新实现 Workspace 设计;以 DCE5.0 视角,全面统一了资源划分和权限结构体系,为 Skoala 提供了完善的权限划分等能力 |
常见问题
功能介绍
网关多实例管理模块
Skoala-gateway 原生支持对 Kpanda 管理的多集群、多命名空间的的网关实例进行管理,您可以通过 Skoala-gateway 管理界面,仅需简单的操作,即可完成网关实例进行管理,包括创建、删除、查询、修改等操作。
每个网关支持在一个集群下对多个命名空间内的微服务网关管理的接管,您可以在配置中方便的进行调整;不过您需要注意一个命名空间同时只能被一个微服务网关管理。
API 管理模块
您可以通过 Skoala-gateway 管理界面,非常方便的对网关下的路由 API 进行管理,通过简单的界面化操作即可完成,API 的创建、编辑等能力;这是原生 Contour 不支持的功能,当然在增加 Contour 管理能力的同时,我们也会保障原生 API 的能力不受影响;但非常建议您通过界面化的方式来管理。
您可以给 API 附加丰富的策略,例如:请求重写策略、重试机制以及限流策略等,默认情况下限流能力不开启,您可以在需要时针对开启,当然这些会需要一个资源支出。
服务接入模块
Skoala-gateway 旨在让您可以方便的对 API 背后的服务进行路由管理,Skoala 支持非常丰富的服务接入能力,可以很轻易的将您的微服务接入到网关下,无论它部署在哪里,Skoala 同时支持对运行在 Kpanda 上的微服务自动进行服务发现。
域名管理模块
Skoala-gateway 原生提供了便捷的域名管理能力,支持方便的将统一的服务域名预先配置,在创建 API 时,仅做简单的选取即可;同时支持 HTTP 和 HTTPS 服务域名管理,HTTPS 支持多种证书托管模式。
插件中心模块
Skoala-gateway 同时也提供了丰富的的插件功能,支持安全、流量管控、缓存等组件,您可以根据实际的业务需求,方便您根据实际的业务需要,在网关中启用这些组件。
监控告警模块
Skoala-gateway 在部署时会自动配置监控、告警等功能;每个网关都自带了完善的资源监控和网关业务监控,同时也支持接入待 Insight(DCE5.0 重磅观测产品),您可以利用 Insight 更加丰富的观测手段,自定义完成您的业务监控。
日志查看模块
Skoala-gateway 原生接入了 DCE 5.0 强大 Insight 日志管理模块,提供了非常全面的业务日志和网关实例日志查看、链路追踪能力;支持实时更新,配合网关实例不同级别的日志提醒,您可以非常方便的完成详细日志的输出,提高业务分析和日志排查效率。
业务日志查看
在 Skoala-gateway 日志查看模块,对业务日志提供了查询优化,您可以方便通过关键字、时间、日志内容、服务名、API 名称等进行秒级查询,通知支持您切换查看不用的后端服务日志,以便于快速定位问题。
实例日志查看
Skoala-gateway 依托 Insight 提供了 微服务网关的全生命周期的日志记录能力,可以提供实时、准确的实例日志查看能力,为了网关容器和部署调试提供了详细的日志支持。
权限管理模块
Skoala-gateway 同样支持 DCE5.0 权限管理模块的能力,支持利用 Ghippo 权限管理模块,自定义权限管理策略,授权不同成员对网关的管理权限,这一切都是 DCE5.0 平台内统一的标准化能力,您可以很轻易的完成。
用户手册
SKoala-gateway 用户手册,帮助您快速了解本产品的全部功能。
快速上手
带您快速了解并可以快速上手体验使用 Skoala-gateway 微服务网关的产品能力。
操作步骤
- 进入微服务网关管理页面
- 完成创建微服务网关
- 输入网关名称
- 选择部署区域
- 创建后等待网关初始化和启动成功,这是网关状态会展示为“运行中”
- 在列表中点击网关名称进入网关详情,通过右侧导航栏,找到 API 列表
- 点击创建 API,按步骤完成 API 创建
- 输入 API 名称
- 选择关联域名,如果找不到域名,可以根据提示去接入域名
- 填写 匹配规则
- 选择 目标服务,目标服务会根据自动发现和手工接入(需要到服务列表接入)、重定向、直接返回多种类型
- 完成 API 创建后,即可通过请求列表,查看对应的 API 结果
- 通过左侧导航栏 日志查看,查看对应的请求信息
- 通过 监控告警,查看对应的监控信息
微服务网关功能列表
功能分类 | 功能项 | 子功能项 |
---|---|---|
微服务网关多实例管理 | 实例列表 | |
添加实 例 | ||
移除实例 | ||
微服务网关详情 | 实例概览 | 基本信息 |
连接信息 | ||
网关数据 | ||
资源数据 | ||
API 请求排行 | ||
资源负载 | ||
API 管理 | 创建 API | |
编辑 API 规则 | ||
API 上下线管理 | ||
批量管理 API | ||
服务接入 | 手工接入服务 | |
自动发现服务列表 | ||
服务接入来源管理 | ||
域名管理 | 添加域名 | |
编辑域名信息 | ||
监控告警 | 业务监控看板 | |
网关实例监控看板 | ||
监控告警规则 | ||
自定义告警通知方式 | ||
日志查看 | 业务日志查看 | |
业务日志源数据查看 | ||
网关实例日志查看 | ||
插件中心 | 全局限流插件 | |
安全认证插件 | ||
微服务网关管理 | 网关调试模式 | |
网关手工重启 |