软件版本:

  • 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

kong网关部署的更多相关文章

  1. k8s实践 - 如何优雅地给kong网关配置证书和插件。

    前言 从去年上半年微服务项目上线以来,一直使用kong作为微服务API网关,整个项目完全部署于k8s,一路走来,对于k8s,对于kong,经历了一个从无到有,从0到1的过程,也遇到过了一些坎坷,今天准 ...

  2. API网关之Kong网关简介

    1. Kong简介 那么,Kong是一个什么东东呢?它是一个开源的API网关,或者你可以认为它是一个针对API的一个管理工具.你可以在那些上游service之上,额外去实现一些功能.Kong是开源的, ...

  3. kong网关命令(一)

    上次在虚拟机里安装kong网关后,因为版本(1.4)太高,目前Kong Dashboard无法支持, 后续发现Git上有个开源工具Kong admin ui,下载源码并部署到NGINX. 但是发现使用 ...

  4. 在K3s上使用Kong网关插件,开启K3s的无限可能!

    我的工作中很重要的一部分是参加各种各样的技术会议.最近参加的是去年11月的北美KubeCon,在会议的最后一天,所有人都焦头烂额,我也一直机械地向不同的人重复我的自我介绍.后来,我已经十分烦躁,决定逃 ...

  5. Kong网关安装自定义插件

    安装自定义插件需要注意kong网关的版本要求!! 下面以安装Skywalking插件为例,要求Kong网关是2.2及以上版本,https://github.com/apache/skywalking- ...

  6. 使用KONG网关实现接口迁移的灰度验证

    在我们对一个API站点进行微服务化的过程中,使用KONG网关可以实现以下几个效果: 1. 业务线无感知,其实内部已经被Kong转到其他站点上执行了,这对业务线特别友好. 2. 可以实现租户级/接口级灰 ...

  7. kong网关: service+route+upstream

    对于刚开始学习kong网关,总是一脑子浆糊迷迷糊糊.虽然已经安装好,但却不知道接下来如何下手, 因为包含项太多:service.routes.upstream.consumer.plugins等等.一 ...

  8. MacOs下安装Kong网关

    写在前面: 持续记录一下自己在解决api网关kong上的各种问题. 1.关于Kong网关 这是官网地址:https://konghq.com/ 2.通过brew安装postgres 因为kong的数据 ...

  9. Kong网关安装之Docker版(2)

    1.安装kong管理工具:konga或者kong-dashboard,这里选择konga 拉取konga镜像: sudo docker pull pantsel/konga:0.14.4 初始化kon ...

  10. Kong网关安装之Docker版(1)

    前言: Kong 是天生的微服务网关.她的官方简介是:Kong 是一个云原生,高效,可扩展的分布式 API 网关. 自 2015 年在 github 开源后,广泛受到关注,目前已收获 1.9w+ 的 ...

随机推荐

  1. WPF 制作一个占用文件的测试工具

    我在开发软件进行测试时,需要测试拖入的文件被占用时软件的行为,于是就做了一个文件占用工具,此工具可以将某个文件进行占用,以及获取某个文件被哪个进程占用 先给大家看一下效果: 以上是拖入文件到灰色部分, ...

  2. dotnet 教你写一个可以搞炸本机所有 WCF 应用的程序方法

    作为团队里面挖掘机出身的我,怎么能不多挖一些坑好将小伙伴们都埋进去呢.本文来告诉大家一个有趣且简单的方法,此方法可以将本机的 WCF 玩坏,不敢说真的搞炸本机所有 WCF 应用,但搞炸大部分基于 WC ...

  3. element-ui表单重置函数 resetFields 无效解决

    由element-ui文档中能看到重置表单使用的是如下函数 this.$refs[formName].resetFields(); 但是有时使用它却可能会失效 解决: form-item中要加上pro ...

  4. 简说Python之面向对象

    目录 Python对象 对象的内置方法 __init__方法 __str__方法 对象的多态 对象的封装 对象的继承 之前介绍了函数.对象代表了什么.可以称为"一篮子"计划,把数据 ...

  5. NumPy 数组切片及数据类型介绍

    NumPy 数组切片 NumPy 数组切片用于从数组中提取子集.它类似于 Python 中的列表切片,但支持多维数组. 一维数组切片 要从一维数组中提取子集,可以使用方括号 [] 并指定切片.切片由起 ...

  6. OpenCV计算机视觉入门之图像色彩空间转换

    目录 1. 引言 2. 概念 2.1 数字图像 2.2 色彩空间 3. 实践-图像读取 5. 完整代码 6. 总结 1. 引言 本文通过导入函数库.读取图像.转换图像色彩空间.缩放图像和保存图像五个步 ...

  7. python 操作 xlsx

    目录 读取/写入:openpyxl demo1 读取/写入:openpyxl demo1 import openpyxl import os # 创建excel def write_excel_xls ...

  8. 解决 pip 安装时的 SSL/TLS 问题

    在使用pip安装Python软件包时,有时会遇到与 SSL/TLS 相关的问题.一种常见情况是在使用VPN时出现以下错误信息 ValueError: check_hostname requires s ...

  9. ES6常用知识点笔记

    ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准. 因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015(简称ES2015).虽然浏览器在不 ...

  10. .NET周刊【5月第1期 2024-05-05】

    国内文章 一个开源轻量级的C#代码格式化工具(支持VS和VS Code) https://www.cnblogs.com/Can-daydayup/p/18164905 CSharpier是一个开源. ...