kong和konga的安装部署
Posted youngq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kong和konga的安装部署相关的知识,希望对你有一定的参考价值。
简介
本篇文章演示完整的 kong + konga 安装步骤。
软件版本:
-
Postgresql:9.6 (不使用最新版,是因为 konga 不支持)
-
Kong:3.1.1.3
-
konga:0.14.9
使用Docker-Compose安装Postgresql
docker-compose.yml 如下:
version: \'3\'
services:
postgres:
image: postgres:9.6
container_name: postgres_9.6
volumes:
- /docker/data/postgresql/data:/var/lib/postgresql/data
environment:
POSTGRES_USER: root #在此填写postgres的用户名
POSTGRES_DB: postgres #在此填写postgres的数据库名,默认是postgres
POSTGRES_PASSWORD: qweQWEasdASD #在此填写posgres的数据库密码
ports:
- "5432:5432"
启动数据库,使用命令:
docker-compose up -d
数据库安装完成后,连接测试,我这儿是用的Navicat
连接成功后,需要建立存储kong数据的数据库,如下图,进入数据库的命令行界面:
然后执行命令创建kong用户和kong数据库:
CREATE USER kong WITH PASSWORD \'kongpassword\';
CREATE DATABASE kong OWNER kong;
kong的数据库准备工作完成了。
安装kong
官网安装文档地址:Kong Gateway - v3.2.x | Kong Docs
文档提供了多种安装方式,本文主要是ubuntu上使用安装APT存储库安装。
如上图所示,查看对应系统的安装方法,按照官网给的步骤走,安装好kong。
安装完毕后,执行命令,初始化数据库表:
完成步骤:Install Kong 后,路径切换到/etc/kong
可以看到kong.conf.default
配置文件模板:
然后使用命令,复制一份配置文件,并编辑:
cp kong.conf.default kong.conf # 复制配置文件
nano kong.conf # 使用nano编辑配置文件,没有nano可以使用vim
配置文件修改如下(不启用注释的地方kong会使用默认值):
# 开启后台管理Api监听,0.0.0.0 不限制,127.0.0.1 限制本机访问
admin_listen = 0.0.0.0:8001 reuseport backlog=16384, 0.0.0.0:8444 http2 ssl reuseport backlog=16384
# 添加Nginxhttp模块,kong的底层Nginx 会加载符合规则的配置文件
nginx_http_include = /etc/kong/nginx/*.kong.conf
# 配置kong的数据库
database = postgres #使用 PostgreSQL 作为数据库
pg_host = 127.0.0.1 # 数据库Ip
pg_port = 5432 # 数据库端口
pg_timeout = 5000 # 数据库Timeout 时间
pg_user = kong # 登录用户.
pg_password = kongpassword # 登录用户密码
pg_database = kong # 连接的数据库名称
# 设置kong的监听端口 此处可以修改80端口
proxy_listen = 0.0.0.0:8000 reuseport backlog=16384, 0.0.0.0:8443 http2 ssl reuseport backlog=16384
保存配置文件后,初始化kong数据库表:
kong migrations bootstrap -c /etc/kong/kong.conf
初始化出现一下提示:
[warn] ulimit is currently set to "1024". For better performance set it to at least "4096" using "ulimit -n"
在文件
/etc/security/limits.conf
最后追加:* hard nofile 65535 * soft nofile 65535 * hard nproc 65535 * soft nproc 65535
重启服务器即可
使用以下命令启动 Kong 网关:
kong start -c /etc/kong/kong.conf
如果一切顺利,应该会看到一条消息 ( Kong started
),通知 Kong Gateway 正在运行。
还可以使用 Admin API 进行检查:
curl -i http://localhost:8001
默认情况下,侦听以下端口:
:8000
:侦听来自客户端的传入 HTTP 流量并将其转发到上游服务的端口。:8443
:侦听传入 HTTPS 流量的端口。此端口具有与:8000
端口类似的行为,只是它只需要 HTTPS 流量。可以使用配置文件禁用此端口kong.conf
。:8001
:Admin API 用于配置侦听的端口。:8444
:Admin API 侦听 HTTPS 流量的端口。
安装Konga(kong后台管理)
首先准备数据库:
CREATE USER konga WITH PASSWORD \'kongapassword\';
CREATE DATABASE konga OWNER konga;
执行命令,初始化konga数据库:
docker run --rm --link postgres_9.6:postgresql --net postgresql-9-6_default pantsel/konga:latest -c prepare -a postgres -u postgres://konga:kongapassword@postgresql: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.2.7" -e "DB_PORT=5432" -e "DB_USER=konga" -e "DB_PASSWORD=kongapassword" -e "DB_DATABASE=konga" -e "NODE_ENV=production" --name konga pantsel/konga
启动成功后浏览器访问:http://192.168.2.7:1337 就可以看到注册界面
注册并登录,登录需要添加配置kong的Admin Api,这里我用 jwt Auth:
配置如下所示,Name
、Key
、Secret
可以随意填写:
成功部署后就可以看到这个界面了
以上是关于kong和konga的安装部署的主要内容,如果未能解决你的问题,请参考以下文章