KONG和KONGA部署及配置

迷南。 2022-10-18 15:00 512阅读 0赞

个人理解,仅供参考:
首先,kong+konga除去其他高级功能,个人觉得就是把nginx,变成可以页面配置的了。比如,配置的router,service就是反向代理,配置upstream就是负载均衡。
本文只介绍KONGA配置service,router,upstream。

使用docker-compose安装:
docker-compose.yml

  1. [root@ecs-f841-0003 kong]# cat docker-compose.yml
  2. version: '3'
  3. services:
  4. kong-database:
  5. image: postgres:9.6
  6. restart: always #每次总是启动
  7. networks:
  8. - kong-net
  9. environment:
  10. POSTGRES_USER: kong
  11. POSTGRES_DB: kong
  12. POSTGRES_PASSWORD: kong
  13. ports:
  14. - "5432:5432"
  15. #######################
  16. # 执行数据库迁移
  17. ######################
  18. kong-migration:
  19. image: kong:latest
  20. command: "kong migrations bootstrap"
  21. networks:
  22. - kong-net
  23. restart: on-failure
  24. environment:
  25. - KONG_DATABASE=postgres
  26. - KONG_PG_DATABASE=kong
  27. - KONG_PG_PASSWORD=kong
  28. - KONG_PG_HOST=kong-database
  29. links:
  30. - kong-database #连接的是kong-database服务的
  31. depends_on:
  32. - kong-database #依赖于kong-database服务
  33. #####################
  34. # kong gateway
  35. #####################
  36. kong:
  37. image: kong:latest
  38. restart: always
  39. networks:
  40. - kong-net
  41. environment:
  42. KONG_DATABASE: postgres
  43. KONG_PG_HOST: kong-database
  44. KONG_PG_PASSWORD: kong
  45. KONG_PROXY_LISTEN: 0.0.0.0:8000
  46. KONG_PROXY_LISTEN_SSL: 0.0.0.0:8443
  47. KONG_ADMIN_LISTEN: 0.0.0.0:8001
  48. depends_on:
  49. - kong-migration
  50. links:
  51. - kong-database
  52. healthcheck:
  53. test: ["CMD", "curl", "-f", "http://kong:8001"]
  54. interval: 5s
  55. timeout: 2s
  56. retries: 15
  57. ports:
  58. - "8001:8001"
  59. - "8000:8000"
  60. - "8443:8443"
  61. #######################
  62. #以下两个是konga GUI
  63. #######################
  64. konga-prepare:
  65. image: pantsel/konga:latest
  66. command: "-c prepare -a postgres -u postgresql://kong:kong@kong-database:5432/konga" #注意是用户名:密码@数据库服务名称:端口
  67. networks:
  68. - kong-net
  69. restart: on-failure
  70. links:
  71. - kong-database
  72. depends_on:
  73. - kong #依赖kong服务
  74. - kong-database #依赖kong-database服务
  75. konga:
  76. image: pantsel/konga:latest
  77. restart: always
  78. networks:
  79. - kong-net
  80. environment:
  81. DB_ADAPTER: postgres
  82. DB_HOST: kong-database
  83. DB_USER: kong
  84. DB_DATABASE: konga
  85. DB_PASSWORD: kong #必须加上密码,不然会失败
  86. depends_on:
  87. - kong
  88. - kong-database
  89. ports:
  90. - "1337:1337"
  91. networks:
  92. kong-net:
  93. driver: bridge

执行:docker-compose up -d

查看执行结果:docker-compose ps
在这里插入图片描述

docker ps
在这里插入图片描述

启动服务:
启动俩个节点8801和8901服务,用来测试,启动脚本start.sh内容如下:

  1. #!/bin/bash
  2. kill -9 $(sudo netstat -tlnp | grep 8801 |awk '{print $7}'|awk -F '/' '{print $1}')
  3. nohup java -server -Xmx1200m -Xms600m -jar hsa-pss-pw-local-svc-generic.jar --server.port=8801 --spring.config.location=hsa-pss-pw-local-generic.yml > app.log 2>&1 &
  4. kill -9 $(sudo netstat -tlnp | grep 8901 |awk '{print $7}'|awk -F '/' '{print $1}')
  5. nohup java -server -Xmx1200m -Xms600m -jar hsa-pss-pw-local-svc-generic.jar --server.port=8901 --spring.config.location=hsa-pss-pw-local-generic.yml > app22.log 2>&1 &

访问地址为:
http://172.16.6.146:8801/hsa-pss-pw/swagger-ui.html
http://172.16.6.146:8901/hsa-pss-pw/swagger-ui.html

访问konga:
http://172.16.6.146:1337/

使用账号密码登录:
(这里一顿操作猛如虎,也不知道自己干了啥,好像是注册来的。。。然后第一次会让创建首个用户的账号密码)
admin/xxxxxx
输入账号密码登入

配置konga链接kong:
在这里插入图片描述

kong admin url:默认端口是8001
在这里插入图片描述

在配service之前,简单介绍下,个人理解:
1)services:配置要被转发的域名和地址(我们启动的服务)
2)routes:配置转发到的域名和地址(我们前端要访问的地址)
3)consumers:kong的用户管理,可以创建用户
4)plugins:kong的插件,可以安装等
5)cwetificates:域名的证书,https肯定有证书吧,配置在这
6)upstreams:负载均衡

配置service:
在这里插入图片描述
在这里插入图片描述

service参数说明:
在这里插入图片描述

配置路由:
在这里插入图片描述

注:这里的methods没有默认,在输入框中输入GET,POST然后回车键,再保存即可。http/https的输入框同理。(开始时候输入完一直submit报错,这设计也是醉了)
在这里插入图片描述
在这里插入图片描述

router参数说明:
在这里插入图片描述

配置完后,浏览器访问地址:
http://172.16.6.146:8000/hsa-local-test/api/hsa-pss-pw/swagger-ui.html
而原我们启动的其中一个服务的地址是:
http://172.16.6.146:8801/hsa-pss-pw/swagger-ui.html

nginx的反向代理。之前用nginx配置的如下,可以达到同样的效果。。。
在这里插入图片描述

接下来测试配置upstream:
在这里插入图片描述

输入个name,就保存就行,其他什么健康检查啥的,如果需要再搞。(注:名字记住,配service时候会用)
点击details,配置target:
在这里插入图片描述

新建两个启动的俩节点服务,配置上,并且给它set healthy。
在这里插入图片描述

然后,去配置service,除了host和port如下,其他跟之前的配置相同。
在这里插入图片描述

配置router:(就把path改了下,等下访问时候,好区分)
在这里插入图片描述

以上,接下来,就可以测试了

服务器打开启动的俩服务的日志,然后访问:http://172.16.6.146:8000/hsa-local-test/api/hsa-pss-pw-ups/swagger-ui.html

然后,多次访问,两个日志输出方式,是否为轮询交替。就是说负载已经配置完成。

网上随便找的一段nginx负载均衡的例子,如下:
在这里插入图片描述

对比一下,嗯,感觉也就那么回事。。。

发表评论

表情:
评论列表 (有 0 条评论,512人围观)

还没有评论,来说两句吧...

相关阅读

    相关 KONGKONGA部署配置

    个人理解,仅供参考: 首先,kong+konga除去其他高级功能,个人觉得就是把nginx,变成可以页面配置的了。比如,配置的router,service就是反向代理,配置