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直接放本机地址和:要访问的地址就行。注意要先发布再配置
第二部:服务配置
第三部:路径配置
最后:
可以看到配置的多个接口都可以访问
如果是同一个方法不同地址也可以访问刷新后会改变:
黑白名单限流有问题无法限制!!!