服务器部署Kong 和 Konga!终于有自己的网关服务了!
创作时间:
作者:
@小白创作中心
服务器部署Kong 和 Konga!终于有自己的网关服务了!
引用
1
来源
1.
https://cloud.tencent.com/developer/article/2505997
Kong是一个强大的开源API网关,而Konga是它的可视化管理工具。本文将详细介绍如何使用Docker部署Kong和Konga,并通过Konga管理Kong。
前言
最近在想怎么将一个接口给外部提供服务,并且可以根据和对放的关系,设置不同的期限或者服务大小?并且有友好的可视化页面!这让我了解到了API网关,所以我开始研究Kong和Konga的使用。
实际上我最开始研究的apisix,但是部署了好久因为etcd不支持http无法连接成功放弃了!
Kong是一个强大的开源API网关,而Konga是它的一个可视化管理工具。由于Kong使用postgres作为数据存储,所以我们需要三个镜像。
下面是快速搭建Kong和Konga的完整流程,希望能帮助到有类似需求的开发者。
部署可能用到的命令
# 启动
docker-compose up -d
# 关闭
docker-compose stop
# 查看日志
docker logs xxxx
# 查看容器列表
docker ps -a
部署
1. 创建docker-compose.yml文件
首先,在你的工作目录中创建一个docker-compose.yml文件,内容如下:
version: '3.2'
services:
postgres:
image: postgres:9.6
container_name: kong-database
environment:
POSTGRES_USER: kong
POSTGRES_PASSWORD: kong
POSTGRES_DB: kong
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
- kong-net
restart: unless-stopped
kong:
image: kong:2.8.1
container_name: kong
environment:
KONG_DATABASE: postgres
KONG_PG_HOST: postgres
KONG_PG_USER: kong
KONG_PG_PASSWORD: kong
KONG_PG_DATABASE: kong
KONG_PROXY_ACCESS_LOG: /dev/stdout
KONG_ADMIN_ACCESS_LOG: /dev/stdout
KONG_PROXY_ERROR_LOG: /dev/stderr
KONG_ADMIN_ERROR_LOG: /dev/stderr
KONG_ADMIN_LISTEN: 0.0.0.0:8001
KONG_ADMIN_GUI_URL: http://localhost:8002
depends_on:
- postgres
ports:
- "8000:8000"
- "8001:8001"
- "8002:8002"
- "8443:8443"
- "8444:8444"
networks:
- kong-net
restart: unless-stopped
konga:
image: pantsel/konga:0.14.9
container_name: konga
environment:
TOKEN_SECRET: konga-token-secret
DB_ADAPTER: postgres
DB_HOST: postgres
DB_USER: kong
DB_PASSWORD: kong
DB_DATABASE: kong
NODE_ENV: development # 第一次启动时设置为 development
depends_on:
- kong
ports:
- "1337:1337"
networks:
- kong-net
command: kong migrations bootstrap
restart: unless-stopped
networks:
kong-net:
driver: bridge
volumes:
postgres_data:
driver: local
注意:
konga的NODE_ENV第一次运行时要设置为development,因为生产环境默认是不会自动创建需要的表的。这是为了防止在生产环境破坏现有数据库。
对应的错误:
'Details: error: relation "public.konga_users" does not exist\n'
2. 启动服务
在包含docker-compose.yml文件的目录中运行以下命令:
docker-compose up -d
3. 初始化Kong数据库
这部分是自动完成的。记得创建成功后修改NODE_ENV为product,在重新启动。
4. 访问Konga并完成设置
打开浏览器,访问http://localhost:1337。
首次访问时,Konga会提示你创建一个管理员账户。
登录后,点击Connections->New Connection,配置Kong的连接信息:
- Kong Admin URL: http://kong:8001
- Name: 任意名称(如admin)。
- 点击Connect,Konga将连接到Kong。
Connect Page
Connect Page
5. 验证安装
连接之后看到这个页面说明安装成功了!
连接成功
结尾
今天的分享就这戏了,希望这篇文章能帮助大家快速上手Kong和Konga!
如果有任何问题或建议,欢迎随时交流讨论。感谢大家的阅读,我们下篇文章再见!
热门推荐
P棉填充前沿科技揭秘:卓越保暖性能与性价比之选
如何训练你的阿拉斯加犬(以宠物为主的训练技巧分享)
探秘“炼金术”:化工类专业就业前景及发展方向全解析
政策提振消费信心 白酒板块迎来布局机会
Word排版技巧:从页面布局到图片排版的实用指南
我国农地所有权、使用权、承包经营权的概念
德国留学奖学金申请指南
从"物理融合"到"化学反应":山西晋中深入推动市校协同创新
粉碎性骨折手术怎么做
玄学四门:易经、奇门遁甲、太乙神数、大六壬
患者排出黑色「虫体」,背后真相竟是?
缠论核心概念解析:交易级别、中枢、买卖点与背驰
学者:彩礼不能重“利”轻“礼”
35mm vs 50mm:镜头焦距选择下的光影魅力与情感表达
为什么观众热衷于观看《奥本海默》的IMAX版本?
让孩子爱上学习,家长需要这5招
诽谤罪如何收集证据
糖尿病患者或将告别扎手指!我国科学家开发出无创血糖检测技术,准确率高达99.4%
捂被退热有没有道理,儿童发热该如何处理?
机器学习模型性能评估指标详解:回归与分类模型的评估方法
如何克服"欲罢不能"的冲动行为
正确认识生物制剂治疗类风湿关节炎
IP地址会和别人重复吗?IP地址重复怎么解决
湖南2025中级安全工程师考试报名时间及流程
深化图纸和优化图纸有什么分别?施工图深化设计
揭秘60升油为何油车与插混续航大不同,答案在这里
最高法:确认之诉不受诉讼时效的限制
构造原理图及元素周期表分区
赋能补浪河生态奇迹,沙漠绿洲生态景区
MATLAB中的矩阵创建与操作详解