环境信息:
OS: CentOS 7 x86_64
防火墙: 关闭 systemctl stop firewalld
一、安装
1. Kong
当前Kong Dashboard兼容的Kong版本是0.12.x 不能通过 yum install 默认的方式去安装 kong,这样会默认安装最新版本的 kong,导致兼容问题。
1) 配置Kong repo信息
cat /etc/yum.repos.d/kong.repo [kong] name=Kong Community Edition baseurl=https://kong.bintray.com/kong-community-edition-rpm/centos/7 failovermethod=priority enabled=1 gpgcheck=0 repo_gpgcheck=0 yum install -y kong-community-edition-0.12.3-1.noarch
2) 安装 PostgreSQL 10
yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm yum install postgresql10 yum install postgresql10-server /usr/pgsql-10/bin/postgresql-10-setup initdb systemctl enable postgresql-10 systemctl start postgresql-10
3) 配置PostgreSQL数据库,并创建Kong相关的数据库信息。
/var/lib/pgsql/10/data/postgresql.conf listen_addresses = '*' /var/lib/pgsql/10/data/pg_hba.conf host all all 127.0.0.1/32 trust systemctl restart postgresql-10 su - postgres -bash-4.1$ psql postgres=# CREATE USER kong; CREATE DATABASE kong OWNER kong; CREATE ROLE CREATE DATABASE postgres=# quit postgres-# \q -bash-4.1$ exit
4) 启动 Kong
kong migrations up kong start
5) 测试
curl -i http://localhost:8001/
输出如下信息并没有错误生成。
HTTP/1.1 200 OK Date: Tue, 08 May 2018 05:56:11 GMT Content-Type: application/json; charset=utf-8 Transfer-Encoding: chunked Connection: keep-alive Access-Control-Allow-Origin: * Server: kong/0.12.3 {"plugins":{"...
参考文档:
https://getkong.org/install/centos/?_ga=2.22984958.475071696.1525657125-1876323536.1524451300
2. Kong Dashboard
Kong-Dashboard 兼容版本信息
1) 安装 npm & Nodejs
curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash - yum install -y nodejs
2) 安装Kong Dashboard
npm install -g kong-dashboard
3) 启动 Kong Dashboard
kong-dashboard start --kong-url http://<kong server>:8001
4) 测试
默认端口8080
浏览器中直接访问 http://<kong dashboard ip>:8080/ 显示如下图。
参考文档:
https://nodejs.org/en/download/package-manager/#enterprise-linux-and-fedora
https://github.com/PGBI/kong-dashboard
二、添加API
1. 编写 RESTful API 程序
import web import yaml from tendo import colorer, singleton urls = ( '/manager/(.*)', 'manage', '/flavor/(.*)', 'flavor', ) app = web.application(urls, globals()) class flavor: def GET(self, name): if 'list' == name: return "[GET] Flavor list api" else: return "[GET] Flavor other api" class manage: def GET(self, name): return "[GET] VM Manage api" def POST(self, name): return "[POST] VM Manage api" def PUT(self, name): return "[PUT] VM Manage api" def DELETE(self, name): return "[DELETE] VM Manage api" if __name__ == "__main__": me = singleton.SingleInstance() app.run()
2. 测试程序可以正常访问
将上述代码保存在 demo.py 中,运行
python demo.py 1234
运行:
curl -X GET http://192.168.44.147:1234/manager/1
返回:
[GET] VM Manage api
3. 通过Kong Dashboard 界面添加该 API
配置如图所示,192.168.44.147是demo web的 ip 地址。
添加成功后,在界面显示如下
4. 测试
运行:
curl -X POST http://<kong ip address>:8000/manager/manager/1
返回:
[POST] VM Manage api
相关推荐
Kong Gateway是为微服务优化的开源,轻量级API网关,可提供无与伦比的延迟性能和可伸缩性。
apigateway-kong
kong :API网关 kong-migration :自我终止的容器,用于仅迁移Kong的数据库。 kong-database :Postgres数据库(Kong支持Postgres和Cassandra) 仪表板:Kong GUI 这是每个服务之间的依赖关系方向: “ kong-...
kong-plugin-template-transformer:Kong API Gateway插件可使用Lua模板转换请求
API网关Kong实战(水印).pdf
讲述kong API网关的集群配置安装部署与运行,并通过实例验证
3.1 定义表结构,在插件目录下创建migrations/postgres.lua,完成插件的初始化和清理逻辑,如下所示: 3.2 完成数据的访问,并在插件目录
Gateway是一个使用go实现的基于HTTP的API 网关。 特性: API 聚合 流控 熔断 负载均衡 健康检查 监控 消息路由 后端管理WebUI 能做什么: 规划更友好的URL给调用者。 聚合多个API的结果返回给API调用者,利于移动端...
简单API网关一个简单的Flask API,用于测试Kong API网关
从源代码编译Kong API网关目录说明斯米兹将与Kong一起部署的容器内代理。 Smitz提供了通过公开的gRPC服务与Kong的管理服务...ProtoBuf 去做工具去做入门建筑$ docker build -t kong:latest跑步$ docker-compose up kong
kong-client是kong的java sdk,它是一种高性能且可扩展的微服务API网关 先决条件 Spring3.2.5+ JDK 1.7以上 Kong2.0.1+ 特征 与springMVC的快速集成:适用于所有spring Web应用程序,只需较少的配置即可工作 服务...
KONG API网关演示 使用docker和docker-compose部署Kong API Gateway 快速开始 docker-compose up -d 现在,KONG默认运行 Kong Proxy HTTP Kong Proxy HTTPS 管理员 KONG管理员SSL
经典的kong入门指南
资源来自pypi官网。 资源全名:tencentcloud-sdk-python-apigateway-3.0.553.tar.gz
一个与PHP7兼容的库,用于与Kong Gateway Admin API进行交互。 Kong兼容性 当前支持Kong> = 0.10.0 要求 PHP 7.0以上 安装 使用 要使用Composer安装kong-php,只需将以下内容添加到composer.json文件中: { " ...
配置Kong API Gateway以连接到Spring Boot应用 配置Kong API网关以对Okta进行身份验证 设置Okta 前往并创建一个免费的Okta开发人员帐户。 跟随您在电子邮件中收到的链接,完成设置您的帐户。 在管理控制台控制台
我们从百亿流量交易系统 API 网关(API Gateway)的现状和面临问题出发,阐述微服务架构与 API 网关的关系,理顺流量网关与业务网关的脉络,带来最全面的 API 网关知识与经验。内容涉及: 百亿流量交易系统 API ...
kong-docs-cn:微服务Api网关Kong最新文档中文版
这是针对Kong的教程,该教程需要非常简单且静态的node.js作为API。 '什么是Kong? Kong是业务流程微服务API网关。 Kong提供了一个灵活的抽象层,可以通过API安全地管理客户端和微服务之间的通信。 也称为API网关...
使用完成 : $ npm install kong-admin-client --save用法 let KongAPI = require ( 'kong-admin-node-client' ) ;let kongAPI = new KongAPI ( { kong_config : { "kong_admin_api_url" : "http://mky-kong:8001" ...