介绍Kong网关
Kong Gateway是一个轻量级、快速且灵活的云原生API网关。API网关是一个反向代理,可以管理、配置和路由对API的请求。
Kong Gateway在任何RESTful API的前面运行,并且可以通过模块和插件进行扩展。它被设计用于在分散式架构中运行,包括混合云和多云部署。
通过Kong Gateway,用户可以:
- 利用工作流自动化和现代GitOps实践
- 分散应用程序/服务并过渡到微服务架构
- 创建一个蓬勃发展的API开发者生态系统
- 主动识别与API相关的异常和威胁
- 保护和管理API/服务,并提高整个组织对API的可见性。
扩展Kong Gateway
Kong Gateway是在Nginx中运行的Lua应用程序。Kong Gateway与OpenResty一起分发,OpenResty是一组扩展了lua-nginx-module的模块的集合。
这为模块化架构奠定了基础,可以在运行时启用和执行插件。在其核心,Kong Gateway实现了数据库抽象、路由和插件管理。插件可以存在于不同的代码库中,并可以通过少量的代码在请求生命周期的任何位置进行注入。
Kong提供了许多插件供您在Gateway部署中使用。您还可以创建自己的自定义插件。
包和模式
有两种方式可以部署Kong Gateway:使用Kong Konnect进行托管和自主管理。如果您是第一次尝试Kong Gateway,我们建议从Kong Konnect开始。
Konnect
Konnect提供了使用Kong Gateway开始的最简单方法。全局控制平面由Kong托管在云上,而您可以在您首选的网络环境中管理各个数据平面节点。
Konnect提供两种定价方案:
Plus套餐:我们的自助按需付费模式,让您完整地使用Konnect平台,同时灵活地只支付您的组织所使用的服务费用。
企业套餐:通过企业订阅,您可以完整地使用Kong Konnect套件,并享有以下特权:
- 24x7x365技术支持
- 专业服务,为您的环境创建定制解决方案
自管理
Kong Gateway有两个不同的版本:开源版(Open Source,OSS)和企业版(Enterprise)。
Kong Gateway(OSS):一个包含基本API网关功能和开源插件的开源版本。您可以通过Kong的Admin API、Kong Manager Open Source或使用声明性配置来管理开源网关。
Kong Gateway Enterprise(可在免费或商业模式下使用):Kong的API网关增加了额外的功能。
- 在免费模式下,该套餐将Kong Manager添加到基本的开源功能中。
- 通过企业订阅,还包括以下内容:
- RBAC(基于角色的访问控制)
- 企业级插件
您可以使用Kong的Admin API、声明性配置或Kong Manager来管理Kong Gateway Enterprise的免费或企业模式。
Kong Admin API
Kong Admin API提供了对网关实体(如服务、路由、插件、消费者等)进行管理和配置的RESTful接口。您可以使用Kong Admin API自动化执行与网关相关的所有任务。
Kong Manager(免费)
注意:如果您正在以传统模式运行Kong,增加的流量可能会导致Kong代理的潜在性能问题。对大量实体进行服务器端排序和过滤也会导致Kong CP和数据库的CPU使用率增加。
Kong Manager是Kong Gateway的图形用户界面(GUI)。它在内部使用Kong Admin API来管理和控制Kong Gateway。
以下是您可以使用Kong Manager完成的一些操作:
- 创建新的路由和服务
- 通过几下点击激活或停用插件
- 根据您的需求对团队、服务、插件、消费者管理等进行分组
Kubernetes
Kong Gateway可以通过其自定义的Ingress Controller、Helm chart和Operator在Kubernetes上进行本地运行。Kubernetes Ingress Controller是一个代理,它将在Kubernetes集群上运行的应用程序(例如,Deployments、ReplicaSets)的Kubernetes服务暴露给集群外运行的客户端应用程序。Ingress Controller的目的是为Kubernetes集群中的所有传入流量提供单一的控制点。
Kong Gateway plugins
Kong Gateway插件提供高级功能,以更好地管理您的API和微服务。通过提供即插即用的能力,以满足最具挑战性的用例,Kong Gateway插件确保最大程度的控制并减少不必要的开销。通过在Kong Manager或Admin API中启用Kong Gateway插件,可以启用身份验证、速率限制和转换等功能。