/konga PS:Kong版本必须 >= 1.0.0才能正常使用konga 一,konga介绍 konga带来的一个最大的便利就是可以很好地通过UI观察到现在kong的所有的配置,并且可以对于管理 kong节点情况进行查看、监控和预警,konga主要特性如下: 多用户管理 管理多个Kong节点 电子邮件异常信息通知 管理所有Kong Admin API 使用快照备份,还原和迁移Kong节点 使用运行状况检查监控节点和 API状态 轻松的数据库集成(MySQL,postgresSQL,MongoDB) 二,docker安装konga 安装当然使用最方便的docker docker run -p 1337:1337 \ 三,使用外部数据库部署konga 使用docker虽然很快,但是如果一旦重新部署数据就不复存在,konga和kong一样可以使用外部数据库来做到数据持久保存 我们先需要准备一个postgres的数据库, 可以用kong的使用同一个 {DB-host}:{DB-port} {DB-user} {DB-pass} 创建konga数据库 CREATE DATABASE "konga" WITH ENCODING
/konga 准备数据库 由于 Konga 需要数据库支持,在这里我们使用 Postgres 来进行配置其数据库。 JWT :使用 Kong 的 JWT 插件来进行验权。 BASIC AUTH :使用 Kong 的 BASIC AUTH 插件来进行验权。 DATASTORE INFO :该模块展示了 Konga 所连接的数据库基本信息。如数据库名称、用户名等。 PLUGINS : 该模块展示了 Kong 服务所使用的插件。 总结 本篇文章对 Kong 的GUI 图形化界面 Konga 进行了简要的讲解,并讲解了利用 Docker 进行安装 Konga。 安装成功后使用默认连接连接到 Kong。 我们下篇文章将会介绍如何在生产环境中连接 Konga,并介绍几种插件的使用。
提供包括云服务器,云数据库在内的90+款云计算产品。打造一站式的云产品试用服务,助力开发者和企业零门槛上云。
鉴于大部分国内开发者使用的是Windows环境。本文依然使用Docker进行安装。建议对Docker不太了解的同学学习相关的知识。也可以关注我的公众号:Felordcn 来及时获取相关的知识。 3. 在下面的创建命令中kong-net是我们创建的Docker网络名称,当然你可以使用你认为合适的名称。 如果你使用的是PostgreSQL,想挂载卷持久化数据到宿主机。通过 -v 命令是不好用的。这里推荐你使用 docker volume create 命令来创建一个挂载。 支持从远程源(数据库,文件,API等)导入使用者。 管理多个Kong节点。使用快照备份,还原和迁移Kong节点。 使用运行状况检查监视节点和API状态。 支持电子邮件和闲置通知。 支持多用户。 4.2.1 Konga数据库容器 上面在4.1特性介绍中我们介绍了Konga支持的数据库类型。这里我们依然使用PostgreSQL。请注意我新定义了挂载卷konga-postgresql 。
ingress-kong也可以作为k8s的ingress使用,当然kong也可以单独作为微服务的gateway网关来使用。 如果kong只是作为一个gateway来替换springcloud中的gateway来使用,那么只需要部署sa账号和rbac,然后用kong镜像部署一个pod即可当做gateway使用,crd也就不需要了 的时候使用的是pgsql,根据GitHub上的文档上说明得知,在使用NODE_ENV为production的时候需要手动去初始化pgsql。 但是注意,这个命令他应该不是在你将konga部署在k8s中来使用的。 初次使用难免会遇到杂七杂八的问题。其实也是由于我个人的不细心,没仔细多看几遍文档导致的。有读者如果找到了konga的manifests清单文件也可下方留言交流。
“友情提示:如果胖友会使用 Docker 的话,安装起来会比较便捷,可参考如下文章: 《Kong 与 Konga 之 Docker 部署》 《Konga 文档 —— Production Docker 新建 konga 数据库 “友情提示:Konga 暂时不支持 12 版本的 PostgreSQL,所以下面艿艿卒了,只是“演示”整个过程。 建议使用 9.x 版本的 PostgreSQL 哈! 初始化 PostgreSQL 数据库 “= = 因为艿艿安装的 PostgreSQL 版本过高,所以后面艿艿临时先使用 MySQL 作为 Konga 的数据库。 下图是艿艿使用 MySQL 时候的操作: ? MySQL 示例 最终 PostgreSQL 数据库 konga 的表如下图所示: ? ⑥ 使用浏览器,访问 <http://127.0.0.1:1337/> 地址,进入 Konga 首页。因为 Konga 暂无**默认**管理员,所以自动跳转创建页面。如下图所示: ?
1、准备数据库 docker run --network=kong-net --rm pantsel/konga -c prepare -a postgres -u postgresql://konga :konga@kong-database/konga 2、部署 2.1 容器部署 docker run -d -p 1337:1337 --name kong-konga \ --network=kong-net " \ -e "DB_PASSWORD=konga" \ -e "DB_DATABASE=konga" \ -e "NODE_ENV=development" \ pantsel/konga 2.2 本地部署 $ git clone https://github.com/pantsel/konga.git $ cd konga $ npm i # 配置连接文件 .env_example npm .png] 4、参考文档 https://hub.docker.com/r/pantsel/konga
KONG和KONGA搭建 安装postgresql apt-get install -y postgresql 复制代码 登陆 sudo -u postgres psql 复制代码 创建用户和数据库 create 创建数据库 create user konga with password 'konga'; create database konga owner konga; grant all privileges on database konga to konga; 复制代码 下载镜像 sudo docker pull pantsel/konga:latest 复制代码 试了几个地址都很慢,用163的镜像加速 =postgresql://konga:konga@172.17.0.1:5432/konga" pantsel/konga 复制代码 服务器磁盘占满 df和du查看的容量不一样 df和du查看磁盘占用量不一致 可能是有些文件被删除了但是仍被进程占用 lsof|grep delete 查看哪些文件被占用 找到占用这些文件的进程,重启 恢复
kong是基于openresty的不错的网关,konga是一种管理kong的可视化开源项目,kong-dashboard也是一种kong的可视化开源项目,但是最近一次更新都是1年前的事了,所以选择了konga "8001:8001" - "8000:8000" - "8443:8443" ####################################### # Konga database prepare ####################################### konga-prepare: image: pantsel/konga :latest command: "-c prepare -a postgres -u postgresql://kong:kong@kong-database:5432/konga" kong-database depends_on: - kong-database ####################################### # Konga
其中ngx_lua_moudule使开发人员能使用Lua脚本调用Nginx模块。Kong是一个Openrestry程序,而Openrestry运行在Nginx上,用Lua扩展了nginx。 安装Kong 官方文档:https://konghq.com/install/#kong-community 大家可以安装企业版或者开源版,我这次安装企业版,但只使用其中的开源功能 #拉镜像 docker ,启动Server1 2.通过admin api在Kong中创建Service,也可使用可视化界面Konga创建 POST http://192.168.43.94:8001/services - -data name=server1 --data url='http://192.168.43.94:5000’ 3.通过admin api创建路由,也可使用可视化界面Konga创建 http:// ,启动GrpcService1 2.通过admin api在Kong中创建Service,也可使用可视化界面Konga创建 POST 192.168.43.96:8001/services --data
就能使用本用户映射的数据库用户不需密码登录数据库。 # md5是常用的密码认证方式,如果你不使用ident,最好使用md5。密码是以md5形式传送给数据库,较安全,且不需建立同名的操作系统用户。 konga为目前最先版本的kong的dashboard,由于kong-dashboard目前为更新适应新版本的kong,推荐使用konga konga带来的一个最大的便利就是可以很好地通过UI观察到现在 git clone https://github.com/pantsel/konga.git cd konga npm install konga #使用postgresql CREATE USER pantsel/konga 5.2.2 docker-compose部署 创建虚拟网络 docker network create kong-net 后续的应用及数据库都使用这个虚拟网络。
在这个应用中,我们已经集成了Konga作为UI管理工具,接下来的步骤,需要你访问Konga,做几步简单的设置,就可以愉快的探索Kong了。 注册Konga 配置Kong的连接地址,写入 http://127.0.0.1:8001即可 连接成功,就可以使用Konga来管理你的Kong了 注意事项 如果你所使用的Rainbond平台,是在 2019年12月25日以前安装的,并且没有进行过任何升级操作,那么你可能遇到Konga连接不到Kong的问题,解决的方案如下: 如果你使用了v5.1.9以前的版本,请升级到最新版本。 直接使用docker run 命令创建Konga,要记得建立从 Konga 指向 Kong 的依赖关系: 部署Konga 内存至少提高至4G。 : Kong可以使用的数据库包括 Postgres与Cassandra,我们这里使用了前者。
用Kong作为您的API网关好处多多,赶紧将它部署到您的轻量应用服务器吧~ 部署方法 创建专用网络 在Docker中创建Kong的专用网络: docker network create kong-net 此时我们创建了一个名为kong-net的专用网络。 Kong的主镜像;postgres:9.6镜像为PostgreSQL数据库,用于存储Kong的数据;pantsel/konga镜像为Konga面板,用于为Kong提供基于Web的图形化管理面板。 =production" \ -p 8007:1337 \ --restart always \ pantsel/konga 此时访问http://IP:8007/即可进入Konga管理面板。 注册的第一个用户为管理员用户。此时便可以愉快地管理Kong了。 [Konga管理面板]
当然是它拥有强大的插件群来解决我们本来需要重复手动配置或者需要自己实现的内容,kong在1.X版本加强了对于插件的支持,官方提供的插件就是几十个,通过插件可以带来各种场景更加方便使用 比较使用的功能: 官网:https://github.com/pantsel/konga PS:Kong版本必须 >= 1.0.0才能正常使用konga 一,授权验证 在接口请求中权限验证是一个恒久不变的话题,Kong 但是这样的方式在网页上用的比较多一些,接口一般使用key验证,我们先先出basic插件 ? 增加key—auth配置 ? ? 默认请求会提示No Api key ? ,是否全局都可,但是此时的konga并没有支持部分生效的UI配置,所以我们只能通过使用官方管理API的方式来创建只对于莫个service生效的插件,首先我们需要获取service的ID,通过kong的API konga虽然无法创建但是可以查看 ? 这个service对应的请求就一定要加密 ? 另外一个可以不用就可以正常调用 ? 三、证书 ? 填写证书下面填写具体的域名就配置好了这个证书了 ?
配置文件,默认/etc/kong/kong.conf.default cp /etc/kong/kong.conf.default /etc/kong/kong.conf # 修改里面的数据库配置,写入用户 [root@master ~]# kong health nginx.......running Kong is healthy at /usr/local/kong [微服务API网关] 6、测试使用 创建一个Service 如我们在术语部分的介绍,服务是上游服务的抽象,可以是一个应用,或者具体某个接口。 创建网络 docker network create kong-net 1.2 创建数据卷 docker volume create pgsql docker volume create kong konga password 'konga'; CREATE DATABASE konga OWNER konga; grant all privileges on database konga to konga
本文konga采取手动安装方式,并将数据库选用为mysql. 1.环境准备 需要安装npm以及node yum install npm npm -v # 6.14.11 node -v # v10.24.0 github.com/pantsel/konga.git # gitee地址拉取 git clone https://gitee.com/mirro-other/konga.git # 拉取完成后,本地会得到konga KONGA_LOG_LEVEL=info # eg: # DB_URI=mysql://root:root123@localhost:3306/konga 4.改写文件local_example.js 为local.js # 进入/konga/config目录 cd config # 复制 cp local_example.js local.js 修改 # 默认的 models: { connection process.env.DB_ADAPTER || 'localDiskDb', } # 修改为 models: { connection: process.env.DB_ADAPTER || 'mysql', # 这里可以用‘
0.背景 Docker的基本使用 docker启动时,如果创建了自定义的docker网络: 将容器run在该网络中时,容器访问的localhost不是宿主机的localhost. 1.解决 1.1 启动时该为 (\表示换行) docker run -d --name konga --network host\ -e "NODE_ENV=production" \ -e "DB_ADAPTER =mysql" \ -e "DB_URI=mysql://root:123456@172.18.0.1:5432/konga" \ pantsel/konga 1.2 修改
[非洲城市] 一些技术比较发达的国家,如肯尼亚和尼日利亚,智能手机的使用率分别超过44%和30%。在整个非洲大陆,智能手机用户数量增长了近两倍,达到2.26亿多。 Jumia Jumia的使命宣言和精神是将非洲消费者和企业家联系起来,实现互利共赢,Jumia正在开拓自己的非洲电子商务道路。 其广泛的产品目录和娱乐产品的多样性使其具有令人印象深刻的优势。客户可以购买任何东西,从书籍到游戏,电脑和电视。 Konga Konga成立于2012年,刚创立时只在拉各斯地区运营,它从事售卖婴儿和美容护理产品,现在这个平台已经蜕变为一家大型在线零售商,经常被称为 "非洲的亚马逊"。 这家线上零售公司是非洲最早建立与世界银行整合的支付系统之一,这种创新采用点击系统,消除了支付过程中敏感信息的共享。 在南非媒体巨头Naspers的支持下,Konga现在已经成为电商领域的主要玩家。
针对有些朋友还不太了解 Kong 的使用方法,本文作一些简单的介绍。 https://github.com/pantsel/konga 从维护更新的频率来看,pgbi/kong 在走下坡路,而konga维护良好,建议大家使用konga,他们俩的操作界面大同小异,比如我目前使用的是 Konga ? 就拿流量控制来说,其控制粒度可以具体某个Target,也可以应用到Global,非常灵活。 Kong 响应 在使用Kong进行转发后,Kong会向客户端写入一个默认的头信息 ? 结束语 优秀的开源产品值得我们深入了解,并结合.NetCore实际使用,这会让.NetCore的生态越来越完善,让社区更强大。
它包含应用程序可用的文件系统和其他元数据,如镜像运行时的可执行文件路径。 镜像仓库 Docker镜像仓库用于存放Docker镜像,以及促进不同人和不同电脑之间共享这些镜像。 这个进程也是资源受限的,意味着它只能访问和使用分配给它的资源(CPU、内存等)。 4.2 一个简单的流程 4.2.1 首先开发者在开发环境机器上开发应用并制作镜像。 " \ pantsel/konga ---- linux中-和--的区别? 网络相关 容器可以比拟做一个独立的系统环境,能配置自己网络,所以说容器里的localhost不一定等于宿主机的localhost 网络模式 bridge:桥接docker(默认创建时,不指定网络驱动,将使用 bridge模式) none:不配置网络 host:和宿主机共享网络 例如:当你在容器上使用80端口访问其他应用,使用的是宿主机的80端口. container:容器网络连通(用的少,局限很大) Linux
针对有些朋友还不太了解 Kong 的使用方法,本文作一些简单的介绍。 ,但是就是非常麻烦,中小企业可以通过上云的方案使用云原生,但是对于自建机房、自建网关和服务集群的,或者是不方便上云的企业来说,只能选择Java。 从维护更新的频率来看,pgbi/kong 在走下坡路,而konga维护良好,建议大家使用konga,他们俩的操作界面大同小异,比如我目前使用的是Konga ? 就拿流量控制来说,其控制粒度可以具体某个Target,也可以应用到Global,非常灵活。 Kong 响应 在使用Kong进行转发后,Kong会向客户端写入一个默认的头信息 ? 结束语 优秀的开源产品值得我们深入了解,并结合.NetCore实际使用,这会让.NetCore的生态越来越完善,让社区更强大。
资源编排 TIC为您提供易用、高效、安全的基础架构管理平台。平台使用声明型语言,兼容众多优秀的开源社区工具,同时提供代码编辑和视图编辑两种模式,有效降低学习成本和使用难度。TIC 使用代码版本管理的方式管理基础架构,保障基础设施的构建、管理和迁移的可靠性和安全性。
扫码关注云+社区
领取腾讯云代金券