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
相关推荐
MavenTalk13 天前
微服务网关SpringCloudGateway、Kong比较
spring boot·网关·spring cloud·微服务·架构·kong
Hello.Reader23 天前
Kong API Gateway 深度解析与实战指南
gateway·kong
风霜不见闲沉月2 个月前
kong网关的使用
junit·kong
还是转转2 个月前
Kong Gateway 指南
gateway·kong
三朝看客3 个月前
BClinux docker安装kong和konga
docker·容器·kong
爱技术的小伙子4 个月前
【API网关】 使用Kong、Zuul等工具实现API网关
kong
明明在学JAVA7 个月前
Kong网关的负载均衡
python·负载均衡·kong
Wang's Blog7 个月前
Go微服务: 基于Docker搭建Kong网关环境
docker·微服务·golang·kong
明明在学JAVA7 个月前
Kong网关身份认证
kong