kong网关部署

软件版本:

Postgresql:9.6 (不使用最新版,是因为 konga 不支持)

Kong:3.4.2

konga:0.14.7 (UI管理界面)

### Postgresql部署

docker-compose.yml

复制代码
version: '3'
services:
postgres:
image: postgres:9.6
container_name: postgres_9.6
volumes:
- /home/kong/konga_test_ctw/postgres9.6_data:/var/lib/postgresql/data
environment:
POSTGRES_USER: root #在此填写postgres的用户名
POSTGRES_DB: postgres #在此填写postgres的数据库名,默认是postgres
POSTGRES_PASSWORD: qweqweasdASD #在此填写posgres的数据库密码
ports:
- "5432:5432"

运行后需要创建用户,分别提供给kong、konga两个连接

进入容器:

复制代码
psql -U root -d postgres
CREATE USER kong WITH PASSWORD 'kong';
CREATE DATABASE kong OWNER kong;

CREATE USER konga WITH PASSWORD 'konga';
CREATE DATABASE konga OWNER konga;

### kong3.4.2部署 (https://docs.konghq.com/gateway/3.4.x/install/linux/rhel/)

一、安装kong

复制代码
yum install -y ./kong-3.4.2.rpm

/etc/kong/可以看到kong.conf.default配置文件模板

cp kong.conf.default kong.conf

vim kong.conf

复制代码
admin_listen = 0.0.0.0:8001 reuseport backlog=16384, 0.0.0.0:8444 http2 ssl reuseport backlog=16384
nginx_http_include = /etc/kong/nginx/*.kong.conf

database = postgres #使用 PostgreSQL 作为数据库
pg_host = 127.0.0.1 # 数据库Ip
pg_port = 5432 # 数据库端口
pg_timeout = 5000 # 数据库Timeout 时间
pg_user = kong # 登录用户.
pg_password = kong # 登录用户密码
pg_database = kong # 连接的数据库名称

proxy_listen = 0.0.0.0:80 reuseport backlog=16384, 0.0.0.0:443 http2 ssl reuseport backlog=16384

二、初始化

复制代码
kong migrations bootstrap -c /etc/kong/kong.conf

三、启动

复制代码
kong start -c /etc/kong/kong.conf

四、验证

复制代码
curl -i http://localhost:8001

### konga管理后台

一、初始化数据库

复制代码
docker run --rm --link postgres_9.6:postgresql --net kong_default pantsel/konga:0.14.7 -c prepare -a postgres -u postgres://konga:konga@192.168.0.95:5432/konga

解析

复制代码
--net postgresql-9-6_default :将当前启动容器加入到postgresql的docker网络中,注:容器网络查看命令docker inspect postgres_9.6,如下图就是容器当前的网络名称:

--link postgres_9.6:postgresql :将当前启动容器连接到指定容器,--link 连接容器名称:别名

-c prepare -a postgres:必带,初始化数据库参数

-u postgres://konga:kongapassword@postgresql:5432/konga:数据库连接信息 postgres://数据库用户名称:用户密码@[Ip或 容器名称]:端口号/数据库名

二、启动konga

复制代码
docker run -d -p 1337:1337 -e "DB_ADAPTER=postgres" -e "DB_HOST=192.168.0.95" -e "DB_PORT=5432" -e "DB_USER=konga" -e "DB_PASSWORD=konga" -e "DB_DATABASE=konga" -e "NODE_ENV=production" --name konga pantsel/konga:0.14.7

三、验证

复制代码
http://192.168.0.95:1337

总结优化容器写法

复制代码
vim docker-compose.yml

version: '3'
services:
  postgres:
    image: postgres:9.6
    container_name: postgres_9.6
    restart: always
    volumes:
      - /home/n8n8/kong/postgres9.6_data:/var/lib/postgresql/data
    environment:
      POSTGRES_USER: root #在此填写postgres的用户名
      POSTGRES_DB: postgres #在此填写postgres的数据库名,默认是postgres
      POSTGRES_PASSWORD: qweqweasdASD #在此填写posgres的数据库密码
    ports:
      - "5432:5432"
  konga:
    image: pantsel/konga:0.14.7
    container_name: konga
    environment:
      - DB_ADAPTER=postgres
      - DB_HOST=192.168.0.95
      - DB_PORT=5432
      - DB_USER=konga
      - DB_PASSWORD=konga
      - DB_DATABASE=konga
      - NODE_ENV=production
    ports:
      - "1337:1337"
    restart: always
相关推荐
William一直在路上6 小时前
KONG API Gateway中的核心概念
网络·gateway·kong
freesharer16 小时前
kong网关集成Safeline WAF 插件
kong
悟能不能悟17 天前
kong是什么
kong
freesharer1 个月前
kong网关基于header分流灰度发布
kong
JohnGox2 个月前
KONG根据请求参数限流
kong·限流
星释2 个月前
使用API网关Kong配置反向代理和负载均衡
运维·负载均衡·kong
莱茵不哈哈3 个月前
OpenResty 深度解析:构建高性能 Web 服务的终极方案
nginx·lua·kong·openresty·conf
泽济天下3 个月前
【工作记录】Kong Gateway入门篇之简介
gateway·kong
泽济天下3 个月前
【工作记录】Kong Gateway 入门篇之部署及简单测试
gateway·kong
yunson_Liu3 个月前
Helm部署kong+konga的路由管理系统
kong