kong管理界面konga的安装
kong网关自身的管理界面属于付费的应用,而第三方界面又非常少,konga算是相对比较好的一款了,虽然也有一些问题,但整体的功能还比较全,github仓库为:https://github.com/pantsel/konga,konga支持两种方式部署分别是docker和nodejs原生部署,下面将依次写一下
不管哪种方式部署,都推荐将相关的信息持久化,建议生产环境使用数据库保存信息,我们这里和kong一样统一使用postgresql来保存配置信息,下面分为3步来叙述:分别是数据库设置、docker方式运行、nodejs原生方式运行,注意运行方式只能选1种,不能两种方式都用
1. 数据库设置
首先登录进postgresql交互控制台,然后执行下面的语句创建konga的数据库并授权用户:
CREATE ROLE konga LOGIN PASSWORD 'konga123456';
CREATE DATABASE konga OWNER konga;
这里创建的数据库:konga,用户:konga,密码:konga123456
然后编辑pgsql数据目录下的pg_hba.conf设置用户访问权限:
host konga konga 0.0.0.0/0 md5
因为可能待会docker方式启动的时候由于容器内的ip和外面不相同,避免连接pgsql被拒绝,因此CIDR这里设置0.0.0.0/0临时允许全部的来源访问,保存配置后,重启postgresql服务,数据库配置完毕
2. docker方式运行konga
为了提高拉取镜像的速度,可以配置国内的docker镜像源,比如网易的,这个设置不再详细叙述;另一种方法可以为docker设置代理访问也可以加快速度,首先设置环境变量:
export http_proxy=http://192.168.0.112:1080
export https_proxy=http://192.168.0.112:1080
然后在docker启动时直接添加参数--http-proxy=true即可自动使用环境变量中的代理,默认这个参数是false
上面是设置代理的方式,可以选择性使用,使用下面的命令可以启动一个不依赖数据库的容器:
docker run -p 1337:1337 --name konga -e "NODE_ENV=production" --http-proxy=true pantsel/konga
第一次运行会自动去镜像源拉取镜像,然后启动容器,之后再启动就不需要再加--http-proxy参数了,也可以通过本地运行的容器中恢复: docker start <容器ID> ,上面这种方式启动是将配置保存到了文件中,如果本地的容器删除了,下次再从镜像启动的时候所有数据都没有了,会非常麻烦,因此选择使用外部的postgresql数据库,使用之前需要先初始化数据库,命令如下:
docker run pantsel/konga -c prepare -a postgres -u postgresql://konga:konga123456@192.168.28.128:5432/konga
执行完之后可以发现所有的数据表都创建好了,然后启动容器:
docker run -p 1337:1337 -e "TOKEN_SECRET=699a85ee59a1" -e "DB_ADAPTER=postgres" -e "DB_HOST=192.168.28.128" -e "DB_PORT=5432" -e "DB_USER=konga" -e "DB_PASSWORD=konga123456" -e "DB_DATABASE=konga" -e "NODE_ENV=production" --name konga pantsel/konga
其中TOKEN_SECRET是一串密钥,可以自己随机生成,其余的都是数据库的配置,如果感觉上面这个参数太多也可以直接使用参数DB_URI指定一个全的url即可,和初始化数据库那个类似;另外如果刚才用konga名称启动过容器,可能再次启动会报错name已经存在,需要先执行: docker rm <容器ID> 删除刚才的容器,然后再运行即可,容器正常启动后,就可以访问浏览器,访问:http://<ip>:1337,即可打开初始的页面:
然后填写用户名、邮件、密码信息,点击CREATE ADMIN,创建管理账户,然后会自动跳转到登录界面,这里可能会存在一个bug就是页面没有跳转成功怎么刷新都是空白,这种情况下可以尝试Ctrl+F5强制刷新页面或者是直接清空最近的记录、cookie等再次刷新页面即可进入登录界面,我自己测试是83一下的chrome内核会有这个问题,而84以上的不会有,这是konga本身的一个问题,如果碰到了注意一下
然后输入用户名和密码,登录管理系统即可
默认会提示输入kong admin api的url,正常输入然后创建连接即可,然后就可以看到完整的管理模块了,需要注意的是默认情况下kong admin api为了保证安全,监听的网卡为127.0.0.1,需要在配置文件中改成实际的网卡ip,这样这里才可以连接成功,不过这样又引入新的安全问题,要解决这个问题可以采用kong的自校验完成,这类不再详细说了,很简单,可以自己探索配置一下
3. nodejs方式运行konga
最后一种方式是使用nodejs直接在系统上运行konga,首先要安装nodejs相关的包:
yum install nodejs
安装之后就有了npm相关的工具,然后克隆kong的源码:
git clone https://github.com/pantsel/konga.git
cd konga
当然也可以自行去github下载指定版本的源码包,上传到服务器上使用也一样,然后自动下载相关的依赖:
npm i
如果依赖下载超时或者失败,同样也可以配置代理来提速,默认的npm包注册url是:https://registry.npmjs.org,所以只需要配置一下https代理即可:
npm config set https-proxy http://192.168.0.112:1080
# 查看代理配置
npm config get
然后即可开始下载,完成之后会有提示:
提示的这些漏洞可以暂时不关心,现在代理就算用完了,可以删除一下:
npm config delete https-proxy
除了设置代理的方式,也可以使用国内的npm源,比如阿里云的,但是这个我自己没有测试,先放个链接:https://developer.aliyun.com/mirror/NPM?from=tnpm
然后可以执行命令开始初始化数据库,注意数据库和用户要先按照第一步进行创建和授权,然后执行下面命令初始化数据库:
node ./bin/konga.js prepare --adapter postgres --uri postgresql://konga:konga123456@192.168.28.128:5432/konga
默认运行的时候读取的配置文件是:.env,可以配置比如绑定地址和端口,数据库连接等配置,默认当前目录下存在一份.env_example,可以拷贝出来: cp .env_example .env ,然后按照实际的配置进行修改,我这里配置如下:
PORT=1337
NODE_ENV=production
KONGA_HOOK_TIMEOUT=120000
DB_ADAPTER=postgres
DB_URI=postgresql://konga:konga123456@192.168.28.128:5432/konga
KONGA_LOG_LEVEL=warn
TOKEN_SECRET=some_secret_token
配置完成之后保存,注意DB_URI中用户名密码等要写全,其他的配置项就不用再配置了,否则会出现很多麻烦的用户错误问题,konga这里处理的非常糟糕,吐槽一下参数配置真是太烂了O(∩_∩)O,最后执行下面的命令启动konga:
npm run production
# 或者是
npm start
然后可以打开浏览器测试访问,如果出现上面的问题仍然尝试清空的缓存来解决,如果还是不行可以尝试运行下面的命令补充依赖:
npm run bower-deps
补充完依赖后再次启动尝试,上面两个命令都试一下,一般就可以了,然后登录页面,连接kong admin api,其他的操作都一致了
上面就是konga的两种安装运行方式,极力推荐使用docker运行,而本地的方式运行可能会出现一些莫名其妙的问题需要花费时间调试,docker的方式可维护性更好,如果有其他问题,欢迎交流~
kong管理界面konga的安装的更多相关文章
- KAFKA 监控管理界面 KAFKA EAGLE 安装
概述 Kafka Eagle监控系统是一款用来监控Kafka集群的工具,目前更新的版本是v1.2.3,支持管理多个Kafka集群.管理Kafka主题(包含查看.删除.创建等).消费者组合消费者实例监控 ...
- ##7.Dashboard web管理界面-- openstack pike
##7.Dashboard web管理界面 openstack pike 安装 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html ##.Dashboard ...
- 【k8s部署kong一】kong k8s 安装 以及可视化管理界面
官方安装:https://getkong.org/install/kubernetes/ 扩展讲解:https://blog.fleeto.us/post/intro-kong/ 提示:本文是在k8s ...
- 网关服务Kong和konga介绍安装使用教程
介绍 Kong是一款基于OpenResty(Nginx + Lua模块)编写的高可用.易扩展的,由Mashape公司开源的API Gateway项目.Kong是基于NGINX和Apache Cassa ...
- Linux安装完Tomcat后无法登陆管理界面
今天在Linux中安装完Tomcat后无法登陆Tomcat的管理界面,也就无法利用Tomcat管理界面来部署项目. 在Windows中一般配置完Tomcat后,只要在[conf]目录下的“tomcat ...
- Solr7 安装部署 管理界面介绍
Solr7 安装部署 管理界面介绍 本章重点介绍CentOS 安装部署Solr7 ,Solr的管理界面介绍,添加核心Core配置,Dataimport导入数据,Documents 在线维护索引,Que ...
- windows环境下安装rabbitmq及配置可视化管理界面
1.环境 windows7 64位 rabbitmq3.7.9 erlang10.22.先安装erlang,后安装rabbitmq.下载地址: rabbitmq http://www.rabbitmq ...
- openWrt 安装管理界面luci中文包
openWrt15安装管理界面luci中文包 如果刚刷的openwrt15没有中文界面,用ssh连接路由后用opkg安装 root@bang-bang-tang:~# opkg insta ...
- 小贝_redis web管理界面工具安装
RedisWEB管理界面工具安装 一.概述 二.文件下载 三.安装过程 一.概述 1.因为redis是基于C/S的方式开发.也就是说,仅仅要满足于redis的client通信要求的,都能够作为redi ...
- RabbitMQ Server安装及显示管理界面Installing on Windows
接上一篇文章,继续讲解 文件很小, 1.下载路径:http://www.rabbitmq.com/download.html 2.运行rabbitmq-server-3.6.5.exe,选择要安装的目 ...
随机推荐
- maven打包出现 ����applets.user.service.UserService����-2022新项目
一.问题由来 新项目的框架刚搭建好,还不能正常的运行,我们这边就开始写代码,因为项目还在设计阶段,很多东西比如说需求 都还在讨论之中.分层架构采用的是cola4.0的架构,具体的代码由我们自己来进行实 ...
- Git Flow 的正确使用姿势 - 分支 branch - master dev 使用方式
Git Flow 的正确使用姿势 https://www.jianshu.com/p/41910dc6ef29
- 解决jenkins Git Publisher自动打tag的问题
简单配置一下 然后开始构建,然后报错如下 The recommended git tool is: NONE using credential 647ee613-5032-4894-aaeb-fe07 ...
- 23_FFmpeg像素格式转换
简介 前面使用 SDL 显示了一张YUV图片以及YUV视频.接下来使用Qt中的QImage来实现一个简单的 YUV 播放器,查看QImage支持的像素格式,你会发现QImage仅支持显示RGB像素格式 ...
- 熬夜的JaVa
1 import java.util.Scanner; 2 3 public class viovo { 4 static int number = 5;//五个商品信息 5 static oppo[ ...
- 工作中最常见的6种OOM问题
前言 最近我写的几篇线上问题相关的文章:<糟糕,CPU100%了><如何防止被恶意刷接口><我调用第三方接口遇到的13大坑>发表之后,在全网广受好评. 今天接着线上 ...
- .Net依赖注入神器Scrutor(上)
前言 从.Net Core 开始,.Net 平台内置了一个轻量,易用的 IOC 的框架,供我们在应用程序中使用,社区内还有很多强大的第三方的依赖注入框架如: Autofac DryIOC Grace ...
- 关于volatile与指令重排序的探讨
写在开头 在之前的学习我们了解到,为了充分利用缓存,提高程序的执行速度,编译器在底层执行的时候,会进行指令重排序的优化操作,但这种优化,在有些时候会带来 有序性 的问题. 那何为有序性呢?我们可以通俗 ...
- 基于logisim-D触发器设计四人抢答电路
实验1:设计一个简易4人知识竞赛抢答电路,要求是: 裁判掌握一个按钮,作用是给电路复位和发出抢答开始命令;4名竞赛者各掌握一个按钮,每人对应一个指示灯,在主持人发出开始抢答命令后,哪位参赛者先按钮其对 ...
- CornerNet:经典keypoint-based方法,通过定位角点进行目标检测 | ECCV2018
论文提出了CornerNet,通过检测角点对的方式进行目标检测,与当前的SOTA检测模型有相当的性能.CornerNet借鉴人体姿态估计的方法,开创了目标检测领域的一个新框架,后面很多论文都基于Cor ...