宝瓜 发表于 2024-6-5 19:01:34

Kong和Konga

Kong和Konga攻坚
一、安装Kong 参考网址:在码头工人上安装孔网关 - v3.3.x |孔文档 (konghq.com)

1、创建自定义 Docker 网络以允许容器发现和 相互沟通:
docker network create kong-net
您可以根据需要将此网络命名为任何名称。我们使用 本指南中的示例。kong-net
        2、启动一个 PostgreSQL 容器:
docker run -d --name kong-database \
--network=kong-net \
-p 5432:5432 \
-e "POSTGRES_USER=kong" \
-e "POSTGRES_DB=kong" \
-e "POSTGRES_PASSWORD=kongpass" \
postgres:13

[*]POSTGRES_USER和 :将这些值设置为 。这是 孔网关所需的默认值。POSTGRES_DBkong
[*]POSTGRES_PASSWORD:将数据库密码设置为任意字符串。
在此示例中,名为 Postgres 的容器可以 与网络上的任何容器通信。kong-databasekong-net
        3、准备 Kong 数据库:
docker run --rm --network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_PG_PASSWORD=kongpass" \
kong:3.3.0 kong migrations bootstrap
哪里:

[*]KONG_DATABASE: 指定 Kong 正在使用的数据库的类型。
[*]KONG_PG_HOST: 上一步中通过网络进行通信的 Postgres Docker 容器的名称。kong-net
[*]KONG_PG_PASSWORD: 在 上一步。
[*]KONG_PASSWORD(仅限企业版):管理员的默认密码 金刚网关的超级用户。
[*]{IMAGE-NAME:TAG} kong migrations bootstrap: 按顺序,这是 Kong 网关容器名称和标记,后跟 命令 Kong 准备 Postgres 数据库。
       
        4、执行以下命令,使用金刚网关启动容器。
docker run -d --name kong-gateway \
--network=kong-net -u root\
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_PG_USER=kong" \
-e "KONG_PG_PASSWORD=kongpass" \
-e "KONG_PROXY_ACCESS_LOG=/dev/stdout" \
-e "KONG_ADMIN_ACCESS_LOG=/dev/stdout" \
-e "KONG_PROXY_ERROR_LOG=/dev/stderr" \
-e "KONG_ADMIN_ERROR_LOG=/dev/stderr" \
-e "KONG_ADMIN_LISTEN=0.0.0.0:8001, 0.0.0.0:8444 ssl" \
-p 8000:8000 \
-p 8443:8443 \
-p 10.31.56.10:8001:8001 \
-p 10.31.56.10:8444:8444 \
kong:3.4.0
要使用的话把127.0.0.1改成自己电脑的ip地址
把密码改成自己的密码
哪里:

[*]--name和:要创建的容器的名称, 以及它所通信的 Docker 网络。--network
[*]KONG_DATABASE: 指定 Kong 正在使用的数据库的类型。
[*]KONG_PG_HOST: 通过网络进行通信的 Postgres Docker 容器的名称。kong-net
[*]KONG_PG_USER和KONG_PG_PASSWORD: Postgres 用户名和密码。港通需要登录信息 将配置数据存储在数据库中。KONG_PG_HOST
[*]所有_LOG参数:设置要输出到的日志的文件路径,或使用 将消息和错误打印到 和 的示例。stdoutstderr
[*]KONG_ADMIN_LISTEN: Kong 管理员 API 侦听请求的端口。
[*]KONG_ADMIN_GUI_URL: (仅限企业版)用于访问 Kong 管理器的 URL,前面有一个协议 (例如,)。http://
[*]KONG_LICENSE_DATA:(仅限企业版)如果您有许可证文件并已保存 作为环境变量,此参数从您的环境中提取许可证。
        5、验证您的安装:
使用管理 API 访问端点:/services
curl -i -X GET --url http://localhost:8001/services
您应该会收到一个状态代码。200
安装Konga


[*]docker run -p 1337:1337 --network=kong-net -e "KONG_DATABASE=postgres" -e "KONG_PG_HOST=kong-database" -e "KONG_PG_USER=kong" -e "KONG_PG_PASSWORD=kongpass" -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" -e "DB_DATABASE=konga" -e "KONGA_HOOK_TIMEOUT=120000" --name konga pantsel/konga:latest
[*]https://www.jianshu.com/p/7412ff422db6 解决 win10 hyper-v 保留端口占用问题
[*]解决 Windows11 莫名端口占用,而又找不到占用应用的奇怪问题_windows端口被占用但查不到_现代的三流魔法使的博客-CSDN博客
Konga负载均衡配置


[*]https://www.cnblogs.com/weichenglan/p/15407952.html
[*]创建一个WebApi项目发布
[*]然后直接跟着上面的链接配置就行
第一步:



target直接放本机地址和:要访问的地址就行。注意要先发布再配置
第二部:服务配置


第三部:路径配置


最后:


可以看到配置的多个接口都可以访问
如果是同一个方法不同地址也可以访问刷新后会改变:


黑白名单限流有问题无法限制!!!

来源:https://www.cnblogs.com/zwh1120/p/18232374
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Kong和Konga