kong api管理(kong admin api)

网友投稿 846 2023-03-07


本篇文章给大家谈谈kong api管理,以及kong admin api对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享kong api管理的知识,其中也会对kong admin api进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

开源API网关系统(Kong教程)入门到精通

1、Kong的简介和安装

2、使用Docker安装Kong

3、开源API网关kong api管理:KONG入门培训

1、配置详解

2、代理详解

3、身份验证详解

4、负载均衡详解

5、健康检查和断路器详解

6、集群详解

7、网络与防火墙详解

8、共有Lua API详解

9、管理API安全保护详解

一、身份验证插件

        1、Basic验证

        2、Key验证

        3、OAuth2.0验证

二、权限安全插件

        1、ACL鉴权

        2、动态SSL

        3、IP限制(黑白名单)

        4、爬虫控制

三、流量控制插件

      1、请求大小限制

        2、请求速率限制

      3、请求终止

四、Serverless插件

        1、Serverless功能

五、分析与监控插件

        1、Zipkin

六、数据转换插件

就是请求kong api管理,和返回的时候加减点数据。

七、日志插件

日志插件发送目标包括:TCP、UDP、HTTP、FILE、STATSD、SYSLOG 等kong api管理,比较简单kong api管理,自己找资料看看

1、玩转SERVICE服务

2、玩转ROUTE路由

3、玩转API对象 (不推荐)

4、玩转CONSUMER消费者

1、Kong整合Consul     附: Consul快速入门

2、Kong整合Spring Security实现OAuth2.0验证

3、实现Kong的Java管理API

负载均衡详解 - 玩转Kong网关

KONG为请求多个后端服务提供kong api管理了多种负载均衡方案kong api管理:一种是简单的基于DNS,另一种是更加动态的环形均衡器,kong api管理他在不需要DNS服务器的情况下也允许服务注册。

当使用基于DNS的负载平衡时,后端服务的注册是在Kong之外完成,而Kong只接收来自DNS服务器的更新。如果请求的API被解析为多个IP地址,则已使用包含主机名(而不是IP地址)的upstream_url定义的每个API将自动使用基于DNS的负载平衡,前提是主机名未被解析为upstream名称或kong api管理你的localhosts文件中的名称。DNS记录ttl设置(生存时间)确定刷新信息的频率。当设置ttl为0时,每个请求将使用自己的dns查询进行解析。显然这会带来性能损失,但更新/更改的延迟将非常低。

A记录包含一个或多个IP地址。因此,当主机名解析为A记录时,每个后端服务都必须有自己的IP地址。因为没有 weight 信息,所有条目在负载平衡器中将被视为同样的权重,平衡器将进行直线循环。来自DNS记录的IP地址的初始选择是随机的。这是为了确保即使当ttl为0时,负载也正确分配。

SRV记录包含所有IP地址的权重和端口信息。可以通过唯一的IP端口号的组合来标识后端服务。因此,单个IP地址可以托管不同端口上相同服务的多个实例。因为权重信息可用,每个条目将在负载平衡器中获得自己的权重,并且它将执行加权循环。

类似地,任何给定的端口信息将被来自DNS服务器的端口信息覆盖。如果一个API的 upstream_url= http://myhost.com:1234/path 并且 myhost.com 被解析为 SRV 记录中的 127.0.0.1:5678,此时的API将会被代理到 path ,之前的 1234 端口会被重写为 5678 端口。IP地址+端口组合在初始时是随机选择的,这是为了确保服务能被正确分配,即使ttl设置为0。

tip:每当刷新DNS记录时,都会生成列表以正确处理加权。建议将权重保持为彼此的倍数以保证系统的性能。

DNS解析器按顺序开始解析以下记录类型:

1. 最后一个成功的类型优先解析kong api管理

2. SRV记录

3. A记录

4. CNAME记录

所以,如果你使用的主机名称中同时含有SRV记录和A记录时,将仅解析SRV实例。如果你想使用A记录,那么你必须得把SRV记录从DNS中删除。如果你只有A记录,则SRV记录查询失败,然后自动指向到A记录,并查询A记录是否存在,依次类推。

使用环形平衡器时,后台服务的添加和删除将由Kong处理,不需要进行DNS更新。KONG将扮演服务注册的角色。可以通过单个HTTP请求添加/删除节点,并可立即启动/停止接收请求流量。

可以通过配置 upstream 和 target 属性来配置环形均衡器。

默认情况下,一个环平衡器将使用一个加权循环的方案。另一种方法是使用基于散列的算法。散列的输入可以是 none , consumer , ip , 或者 header 。当设置为none时,将使用加权循环方案,并且将禁用哈希。

有两种选择,一种主要的和一种备用方案,以防主服务器出现故障(例如,如果主服务器被设置为 consumer ,但是没有经过身份验证)

不同的散列选项:

哈希算法是基于“一致性哈希”,它确保当平衡器通过改变目标(添加、移除、失败或改变权重)来修改时,只有最小的散列损失发生。这将最大优化上游缓存的命中。

一堆原理实在不好理解,下面来几个案例研究下:

这是一个安全部署应用的方法,它通过提供两个版本的应用同时运行。为了部署一个新版本的应用,你需要将当前版本切换到新版本,然后关闭老版本。Blue-green deployment不会使应用停止服务,在必要的情况下允许你快速回滚应用到blue版本。

设置“蓝色”环境,运行版本1的地址服务:

将主机头设置为 address.mydomain.com ,就可以让那Kong代理这个请求转发到定义的两个目标;三分之二的请求将发送到 address (权重=100),1/3将转到 address (权重=50)。

设置“绿色”环境,运行版本2的地址服务:

将主机头设置为 address.mydomain.com ,现在已经给Kong设置了一个新的目标;一半的请求将被发送到 address (权重=100),另外1/2将转到 address (权重=100)。

通常,通过Kong管理API的更改是动态的,并将立即生效。不需要重新加载或重启,在进度请求中不需要删除。

使用环型平衡器,目标权重可以精确地调整,允许一个平滑的、可控的金丝雀环境。

使用一个非常简单的2个目标示例:

通过重复请求,但是每次改变权重,流量将慢慢地路由到另一个目标。例如,将其设置为10%:

同样,通过Kong管理API的更改是动态的,并将立即生效。不需要重新加载或重启,在进度请求中不需要删除。

Kong保护Admin API接口

Kong Admin API 提供了 restful 风格的接口管理和配置服务、路由、插件、消费者和凭证,由于此 API 允许完全控制Kong,因此要保护此API防止不必要的访问,本文档介绍了一些保护 Admin API 的可能的方法

自0.12.0版本开始,默认情况下,Kong仅接受来自本地端口的请求, admin_listen 配置项的默认值

如果更改此值,确保将监听范围保持在最低限度,以避免将 Admin API 暴露给第三方,这将严重损害整个集群的安全性,例如,避免使用诸如 0.0.0.0:8001 这类的值,以免将Kong绑定到所有接口

如果 Admin API 必须在 localhost 接口之外公开,那么根据网络安全最佳实践,需要尽可能的限制网络层的访问,考虑到Kong只监听一些私有网络接口,所以可以将访问权限控制在小的 IP 集合内,这种情况下,基于主机的防火墙(iptables)在限制范围性的流入流量很有帮助,例如:

同时还鼓励使用其他控件,例如在网络设备级别应用的 ACLs,但这个不在这篇文档的讨论范围之内

Kong的路由设计允许它作为 Admin API 本身的代理,通过这种方式,Kong本身可用于为 Admin API 提供细粒度的访问控制,如此配置需要引入一个新的服务,该服务将 admin_listen 的地址定位服务的 url ,例如:

从这里开始,只需向往常一样添加安全控件即可(例如basic或者key验证,ip限制,访问控制列表)

Kong与Nginx紧密结合,可以集成到自定义 Nginx 配置的环境中,通过这种方式,可以使用Nginx/OpenResty的强大功能来构建 server/location 块来实现复杂的安全/访问控制,此外还可以利用原生的 Nginx 授权和身份验证机制,ACL 模块等
有关将Kong集成到自定义Nginx配置的详细信息,可以参考Kong配置项向导中的章节

企业用户可以配置基于角色的访问控制,保护对 Admin API 的访问,RBAC 允许基于用户角色和权限模型对资源访问进行细粒度控制,用户分配一个或多个角色,每个角色有一个或多个权限,然后授予特定资源的访问权限,通过这种方式,可以强制执行对特定 Admin API 资源的细粒度控制,同时支持扩展以允许更加复杂的场景使用

API Gateway——KONG简单入门

Kongkong api管理,是由 Mashape 公司开源的,基于Nginx的API gateway。

可扩展kong api管理:支持分布式

模块化 功能:授权、日志、ip限制、限流、api 统计分析(存在商业插件 Galileo 等、也可自己研发)、请求转化、跨域(CORS)、其kong api管理他功能通过lua编写插件实现。

...

译文:Kong启动之后,每个请求先经过Kong,然后由Kong代理 访问最终的API。在请求和响应之间,Kong可以执行任何已配置的插件,达到增强APIs的目的。Kong作为每个API请求的入口。

1 安装kong

2 postgresql安装配置

3 kong配置

4 kong启动
遇到错误:Error: /usr/local/share/lua/5.1/pgmoon-mashape/init.lua:239: missing password, required for connect

解决方法:检查配置文件的是否存在pg_password配置。

说明:Kong Admin API 默认口为8001

1 在kong中新增api

1.1命令

1.2 原接口请

1.3 通过kong进行接口请求

2 增加限速插件

2.1 命令

2.2 访问频率超过限制后,接口返回结果如下图:

3 访问控制

3.1 添加key-auth插件,命令如下:

此时直接访问接口,将返回以下错误:

3.2 增加消费者:

3.3 为消费者配置证书

通过key访问请求

4 在kong中删除api

中文资料介绍: https://www.sdk.cn/news/1596

kong官网: https://getkong.org

github: https://github.com/Mashape/kong/

Konga平台特点

可扩展性:通过简单地添加更多kong api管理的服务器kong api管理,可以轻松地进行横向扩展kong api管理,这意味着您的平台可以在一个较低负载的情况下处理任何请求;
模块化:可以通过添加新的插件进行扩展,这些插件可以通过RESTfulAdminAPI轻松配置;
在任何基础架构上运行:Kong网关可以在任何地方都能运行。您可以在云或内部网络环境中部署Kong,包括单个或多个数据中心设置,以及public,private或invite-onlyAPIs。
数据中心:用于存储Kong集群节点信息、API、消费者、插件等信息。Kong集群中的节点通过gossip协议自动发现其kong api管理他节点,当通过一个Kong节点的管理API进行一些变更时也会通知其他节点。
对于Kong网关更多的是引擎,Kong网关自带的管理端功能也比较弱,因此还是有必要基于Kong网关来开发一个网关的管控治理平台。

KONG API配置UPSTREAM

The upstream object represents a virtual hostname and can be used to loadbalance incoming requests over multiple services (targets). So for example an upstream named service.v1.xyz for a Service object whose host is service.v1.xyz. Requests for this Service would be proxied to the targets defined within the upstream.

Upstream(上游)模块可以理解为服务请求处理器,他可以模拟成一个虚拟域名,然后将进入的请求进行负载均衡处理,最后将命令分发到不同的微服务(Target)。所以配置的时候,先创建upstream对象,然后再在upstream对象里增加具体的target模块以对应不同的微服务地址和端口,最后在已创建的服务里配置对应的upstream名字,这样当请求到达时,kong就知道将指令分发到哪个具体的微服务里。

1,打开KONGA界面,在左侧见面选择UPSTREAMS菜单,然后点击“CREATE UPSTREAM”

2,在弹出菜单里一般只需要填写NAME,此名字后面可用在SERVICES里的Host字段

3,创建完UPSTREAM后,在UPSTREAM的列表里点“DETAILS”即可看见TARGET选项

4,点击Targets后进入Target编辑页面,并且可以通过右上角进入增加target页面

5,填写IP:PORT地址在Target位置,Weight是可以标识不同的服务的权重,可以进行调节

6,最后在SEVICE编辑里将host换成对应的UPSTREAM的名字

1,查看UPSTREAMS

2,添加UPSTREAM

3,为UPSTREAM配置TARGET

4,SERVICE配置UPSTREAM 关于kong api管理和kong admin api的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 kong api管理的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于kong admin api、kong api管理的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【IntelliJ IDEA】Maven构建自己的第一个Java后台的方法
下一篇:计算机组成与设计 硬件软件接口 pdf(计算机组成与设计硬件软件接口答案中文)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~