翼度科技»论坛 云主机 LINUX 查看内容

kong网关部署

5

主题

5

帖子

15

积分

新手上路

Rank: 1

积分
15
软件版本:


  • Postgresql:9.6 (不使用最新版,是因为 konga 不支持)
  • Kong:3.4.2
  • konga:0.14.7 (UI管理界面)
### Postgresql部署

## docker-compose.yml
  1. version: '3'
  2. services:
  3. postgres:
  4. image: postgres:9.6
  5. container_name: postgres_9.6
  6. volumes:
  7. - /home/kong/konga_test_ctw/postgres9.6_data:/var/lib/postgresql/data
  8. environment:
  9. POSTGRES_USER: root #在此填写postgres的用户名
  10. POSTGRES_DB: postgres #在此填写postgres的数据库名,默认是postgres
  11. POSTGRES_PASSWORD: qweqweasdASD #在此填写posgres的数据库密码
  12. ports:
  13. - "5432:5432"
复制代码
运行后需要创建用户,分别提供给kong、konga两个连接
进入容器:
  1. psql -U root -d postgres
  2. CREATE USER kong WITH PASSWORD 'kong';
  3. CREATE DATABASE kong OWNER kong;
  4. CREATE USER konga WITH PASSWORD 'konga';
  5. CREATE DATABASE konga OWNER konga;
复制代码
### kong3.4.2部署 (https://docs.konghq.com/gateway/3.4.x/install/linux/rhel/)

一、安装kong
  1. yum install -y ./kong-3.4.2.rpm
复制代码
/etc/kong/可以看到kong.conf.default配置文件模板
cp kong.conf.default kong.conf
vim kong.conf
  1. admin_listen = 0.0.0.0:8001 reuseport backlog=16384, 0.0.0.0:8444 http2 ssl reuseport backlog=16384
  2. nginx_http_include = /etc/kong/nginx/*.kong.conf
  3. database = postgres #使用 PostgreSQL 作为数据库
  4. pg_host = 127.0.0.1 # 数据库Ip
  5. pg_port = 5432 # 数据库端口
  6. pg_timeout = 5000 # 数据库Timeout 时间
  7. pg_user = kong # 登录用户.
  8. pg_password = kong # 登录用户密码
  9. pg_database = kong # 连接的数据库名称
  10. proxy_listen = 0.0.0.0:80 reuseport backlog=16384, 0.0.0.0:443 http2 ssl reuseport backlog=16384
复制代码
二、初始化
  1. kong migrations bootstrap -c /etc/kong/kong.conf
复制代码
三、启动
  1. kong start -c /etc/kong/kong.conf
复制代码
四、验证
  1. curl -i http://localhost:8001
复制代码

### konga管理后台


一、初始化数据库
  1. 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
复制代码
解析
  1. --net postgresql-9-6_default :将当前启动容器加入到postgresql的docker网络中,注:容器网络查看命令docker inspect postgres_9.6,如下图就是容器当前的网络名称:
  2. --link postgres_9.6:postgresql :将当前启动容器连接到指定容器,--link 连接容器名称:别名
  3. -c prepare -a postgres:必带,初始化数据库参数
  4. -u postgres://konga:kongapassword@postgresql:5432/konga:数据库连接信息 postgres://数据库用户名称:用户密码@[Ip或 容器名称]:端口号/数据库名
复制代码
二、启动konga
  1. 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
复制代码
三、验证
  1. http://192.168.0.95:1337
复制代码
 

 
总结优化容器写法
  1. vim docker-compose.yml
  2. version: '3'
  3. services:
  4.   postgres:
  5.     image: postgres:9.6
  6.     container_name: postgres_9.6
  7.     restart: always
  8.     volumes:
  9.       - /home/n8n8/kong/postgres9.6_data:/var/lib/postgresql/data
  10.     environment:
  11.       POSTGRES_USER: root #在此填写postgres的用户名
  12.       POSTGRES_DB: postgres #在此填写postgres的数据库名,默认是postgres
  13.       POSTGRES_PASSWORD: qweqweasdASD #在此填写posgres的数据库密码
  14.     ports:
  15.       - "5432:5432"
  16.   konga:
  17.     image: pantsel/konga:0.14.7
  18.     container_name: konga
  19.     environment:
  20.       - DB_ADAPTER=postgres
  21.       - DB_HOST=192.168.0.95
  22.       - DB_PORT=5432
  23.       - DB_USER=konga
  24.       - DB_PASSWORD=konga
  25.       - DB_DATABASE=konga
  26.       - NODE_ENV=production
  27.     ports:
  28.       - "1337:1337"
  29.     restart: always
复制代码
 

来源:https://www.cnblogs.com/tingwei/p/18263538
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具