最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

环球速递!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             # 数据库Ippg_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:

配置如下所示,NameKeySecret可以随意填写:

成功部署后就可以看到这个界面了

关键词: 配置文件 执行命令 可以使用