kong网关使用记录
kong 是一个api网关,类似nginx的网关,一般用于api服务的管理
kong 可以从consul中通过dns获取服务路由,可以自动实现负载均衡
kong
kong最新版没有了conteos的安装文档,现在用Ubuntu来安装kong
1 下载kong
curl -Lo kong-enterprise-edition-3.1.0.0.all.deb "https://download.konghq.com/gateway-3.x-ubuntu-$(lsb_release -sc)/pool/all/k/kong-enterprise-edition/kong-enterprise-edition_3.1.0.0_amd64.deb"
2 安装kong
sudo dpkg -i kong-enterprise-edition-3.1.0.0.all.debsudo apt-mark hold kong-enterprise-edition
3 新增kong.conf
kong安装完成后在/etc/kong 目录下会生成配置文件
在 kong目录下新增kong.conf
database = postgres
pg_host = 192.168.1.111.142 # 这里得配置对外ip地址 不能是127.0.0.1
pg_port = 5432 # pgsql端口
pg_timeout = 5000 # pgsql 连接超时时间pg_user = kong # pgsql 用户名
pg_password = kong # pgsql密码
pg_database = kong # pgsql表dns_resolver = 127.0.0.1:8600 #这个配置很重要,配置的是consul的dns端口,默认是8600 可以自己修改默认端口
admin_listen = 0.0.0.0:8001 reuseport backlog=16384, 127.0.0.1:8444 http2 ssl reuseport backlog=16384
proxy_listen = 0.0.0.0:80 reuseport backlog=16384, 0.0.0.0:443 http2 ssl reuseport backlog=16384
4 安装postgresql
pgsql 可以使用docker安装启动
docker pull postgresdocker run -d --name kong-database -p 5432:5432 -e "POSTGRES_USER=kong"
-e "POSTGRES_DB=kong" -e "POSTGRES_PASSWORD=kong"
-e "POSTGRES_DB=kong" postgres
5 启动kong
kong migrations bootstrap up -c /etc/kong/kong.conf #初始化数据库kong start -c /etc/kong/kong.conf
konga
konga是kong的可视化管理系统,可以通过ui操作kong的服务、路由配置等
konga 安装
1 使用docker 安装konga
docker pull pantsel/kongadocker run -d -p 1337:1337 --name konga pantsel/konga
2 下载konga汉化包
konga 管理系统是全英文的,可通过插件将konga系统语言改为中文
docker pull jsonljd/konga-lang-plugin
3 启动konga,将konga中需要汉化的资源复制到本地运行konga-lang-plugin进行汉化
docker stop b0d0f905f3f5 # 停止konga容器docker cp b0d0f905f3f5:/app/assets ./ # 将konga中的 assets资源复制到本地docker run --name konga-lang-plugin -v /etc/konga-lang/assets:/app/assets jsonljd/konga-lang-plugin # 启动konga-plugin 汉化konga的资源文件docker cp ./assets b0d0f905f3f5:/app/assets # 将已汉化的konga资源文件复制到konga容器中docker start b0d0f905f3f5 # 重启konga容器, 此时konga就已经汉化好了# 后续启动konga的时候可以直接挂载已汉化的资源文件, 如
docker run -d -p 1337:1337 -v /etc/konga-lang/assets:/app/assets --name konga pantsel/konga
konga使用
1 konga 操作
在浏览器中输入konga的ip+1337端口就会进入konga管理后台
此时是konga初始化页面,页面还是英文,等下注册完后登陆页面开始就是中文了
注册完后可以看到,登陆页面已经变成中文的了
进入konga需要新增kong的网关地址
完整的konga页面
2 新增服务
3 给服务添加路由
只有服务是不行的,还要给服务添加路由,不然无法匹配连接
点击新增的服务,进入router配置新增路由
调用接口
可以看到请求地址是两个blog,第一个blog是kong路由的路由入口,第二个blog是后端服务器的blog路由入口
网页没有css js 等一系列文件,这是因为该后端服务器是mvc的服务,kong没有配置静态文件代理,所以才会出现这样的情况
konga负载均衡配置
1 新增负载均衡管理
2 进入新创建的负载均衡detail 中 添加服务配置
3 添加服务或将已有的服务改为负载均衡的名称
4 路由配置
查看效果:
在浏览器上访问两次接口,可以看到,每一个服务都被访问了一次,实现了负载均衡效果
接入consul
api服务器接入consul教程:服务接入consul
新增consul服务器后,给服务添加路由,路由添加同上
服务添加完成后, 当请求进来的时候,kong会判断是否是consul服务,如果是consul服务的话会自动从consul中获取api服务器的ip+端口然后进行服务调用,consul的服务自动实现负载均衡功能,kong从consul中获取到服务对应的ip后会ip中选一个调用,一个consul服务器可以有多个api
kong网关使用记录相关推荐
- kong 网关日志格式修改
kong 网关日志格式修改 kong网关默认日志在/usr/local/kong/logs,主要有access.log,admin_access.log,error.log,access.log和ng ...
- kong 网关教程入门
全栈工程师开发手册 (作者:栾鹏) 架构系列文章 为什么使用API-Gateway 1. 方便客户端维护-- 每个请求方不用管理多个api url,统一访问api-gateway即可 2. 接口重构时 ...
- Kong网关upstream健康检查机制
目录 upstream概念及作用 健康检查 健康检查方式 判定target是否健康 判定upstreams是否健康 两种康检查的区别 启用和禁用健康检查 禁用健康检查 使用总结 upstream概念及 ...
- API网关之Kong网关简介
1. Kong简介 Kong是一款基于OpenResty(Nginx + Lua模块)编写的高可用.易扩展的,由Mashape公司开源的API Gateway项目.Kong是基于NGINX和Apach ...
- API网关产生背景以及kong网关产品介绍
最近在整理API网关的培训资料,也想来谈一谈我们为什么需要API网关,以及kong网关的一些特性分析.互联网的大环境下,以及微服务架构盛行的今天,为解决企业对外部互联网集成交互的高效和高质量,采用分布 ...
- kong 网关access.log日志格式修改
kong网关默认日志在/usr/local/kong/logs,主要有access.log,admin_access.log,error.log,access.log和nginx的access日志类似 ...
- centos6.5 安装 kong 网关
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 最近要求了解下kong网关,然后在网上一顿找,说实话,度娘的力量还是不行啊,找出来的那些跟着配置,不 ...
- 以Docker方式安装和配置Kong网关和Konga控制台
文章目录 以Docker方式安装和配置Kong网关和Konga控制台 前言 安装Kong 创建容器网络 启动PostgreSQL数据库 初始化数据 对Kong Admin API作安全防护 启动Kon ...
- Kong网关简介安装
转载 李亚飞 大佬的文章:https://www.lyafei.com/ 背景 我们有批设备卖给了海外的服务商,老外请了第三方检测机构,检测设备与我们系统的安全性,结果找到了近 40+ 的安全漏洞,有 ...
最新文章
- FPGA之道(43)编写纯净的组合或时序逻辑
- Testing for SSL renegotiation
- Linux下统计局域网流量
- 【数据竞赛】Kaggle秘技,用Sigmoid函数做回归问题!
- Project Euler Problem 9-Special Pythagorean triplet
- php中的数组用什么统计,php数组元素统计与值汇总
- WPF ListBox(ListView) 自定义 Button 项,获取 ListBox(ListView)的SelectedValue
- Ajax-jQuery_Ajax_实例 ($.ajax、$.post、$.get)
- 【学习 OpenCV】—— imgproc.hpp 核心api
- 毕业设计《项目管理》总结06之ajax的初步使用经验
- 多目标跟踪的评价指标
- RouterOS 端口映射
- c++的两个冒号::四个点是什么意思,什么作用呢?
- Springboot集成MybatisPlus、Druid
- Python调用百度API实现语音识别
- CentOS7 忘记密码——重置
- macOS Mojave(软件篇):微信 for Mac 防撤回插件(WeChatTweak-macOS)
- 用c语言验证5阶魔方矩阵,穷举法打印n阶魔方矩阵
- php 心跳包检测,redis的对端心跳检测
- Android之拍照后删除图片
热门文章
- Windows 7系统盘合成
- 照相馆预约系统的功能介绍
- Windows局域网无访问权限解决办法
- 远山优化 高度图转模型问题
- Docker部署war包
- 基于Python3爬取并下载网易云歌曲!
- UA OPTI570 量子力学31 氢原子Fine Structure简介
- 安装Windows7之后出现“Bootmgr is missing”的解决办法
- 《送你一朵小红花》怎么投资?成本多少?怎么参与?
- module java.base does not “opens java.xxx“ to unnamed module @xxxx