`

KONG API Gateway入门教程

 
阅读更多

环境信息:

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

 
 
 

  • 大小: 12 KB
  • 大小: 86.8 KB
  • 大小: 6.5 KB
  • 大小: 32.3 KB
  • 大小: 40.6 KB
  • 大小: 22.6 KB
分享到:
评论

相关推荐

    Kong入门指南.pdf

    另一种是通过RESTful API,这是一个内部API,可用于管理Kong Gateway的配置和状态。RESTful API命令可以在集群中的任何节点上运行,确保了配置的一致性。 Kong还支持基于插件的模块化系统,允许开发者通过安装和...

    apigateway-kong

    apigateway-kong

    kong-plugin-template-transformer:Kong API Gateway插件可使用Lua模板转换请求

    Kong API Gateway是一款强大的开源API管理平台,用于处理、保护和服务API。它允许开发者轻松地在API之间添加安全性、限流、缓存等中间件功能。`kong-plugin-template-transformer`是Kong的一个插件,专门用于利用Lua...

    kong-docker-compose:Docker Compose的Kong API Gateway

    kong :API网关 kong-migration :自我终止的容器,用于仅迁移Kong的数据库。 kong-database :Postgres数据库(Kong支持Postgres和Cassandra) 仪表板:Kong GUI 这是每个服务之间的依赖关系方向: “ kong-...

    API网关Kong实战(水印).pdf

    Kong是一个高可用、易扩展的API网关项目,其核心基于OpenResty构建,利用了Nginx的高性能和Lua语言的灵活性。Kong的设计允许它轻松应对大量网络请求,并且可以水平扩展,实现多个Kong服务器的集群部署。它通过负载...

    谈谈微服务中的APIGateway-Savorboard-博客园1

    在微服务架构中,API Gateway 是一个至关重要的组件,它...在实际应用中,常见的API Gateway实现包括Kong、Netflix Zuul、Amazon API Gateway等,它们提供了丰富的功能和高度的可定制性,能够适应各种业务场景的需求。

    PyPI 官网下载 | tencentcloud-sdk-python-apigateway-3.0.553.tar.gz

    《PyPI官网下载的tencentcloud-sdk-python-apigateway-3.0.553.tar.gz详解》 PyPI(Python Package Index)是Python开发者的重要资源库,它提供了丰富的Python库,供全球开发者免费下载使用。本文将深入探讨在PyPI...

    API 网关KONGA安装手册

    基于centos 7.0,6.5 等安装测试,带网管配置界面,根据用户角色授权等。

    Go-Gateway是一个使用go实现的基于HTTP的API网关

    Gateway是一个使用go实现的基于HTTP的API 网关。 特性: API 聚合 流控 熔断 负载均衡 健康检查 监控 消息路由 后端管理WebUI 能做什么: 规划更友好的URL给调用者。 聚合多个API的结果返回给API调用者,利于移动端...

    Kong入门指南.zip

    1. **Kong Gateway**: 主要处理API请求和响应,执行各种操作如认证、限速、缓存等。 2. **Kong DB**: 用于存储API配置、消费者、插件配置等数据,可以使用内置的Cassandra或PostgreSQL数据库。 3. **Kong Admin API*...

    kong API网关配置

    ### Kong API网关集群配置详解 #### 一、Kong集群方案概述 Kong作为一款广泛使用的API网关,能够有效管理和保护API接口。为了确保服务的高可用性和负载均衡能力,Kong支持集群部署模式。在一个Kong集群中,多个...

    KONG OPENRESTY.pdf

    Kong 正是这样一个 API Gateway,提供了许多有用的功能,例如优化的端点、请求折叠、身份验证、速率限制等。 在微服务架构中,API Gateway 发挥着至关重要的作用。它可以帮助简化客户端的复杂度,提供统一的 API ...

    cloudframeworks-apigateway#user-guide-apigateway#KONG插件开发示例:acce

    3.1 定义表结构,在插件目录下创建migrations/postgres.lua,完成插件的初始化和清理逻辑,如下所示: 3.2 完成数据的访问,并在插件目录

    simple-api-gateway:一个简单的Flask API,用于测试Kong API网关

    简单API网关一个简单的Flask API,用于测试Kong API网关

    CentOS 7.1 离线安装API -kong所需依赖包

    Kong是一个基于开放源代码的API Gateway,它使用了高性能的NGINX Web服务器作为基础。Kong的主要功能包括路由、负载均衡、身份验证、限流、熔断、日志记录等,这些功能帮助企业构建和管理API生态系统,确保服务之间...

    Kong:从源代码编译Kong API网关

    从源代码编译Kong API网关目录说明斯米兹将与Kong一起部署的容器内代理。 Smitz提供了通过公开的gRPC服务与Kong的管理服务...ProtoBuf 去做工具去做入门建筑$ docker build -t kong:latest跑步$ docker-compose up kong

    PyPI 官网下载 | pulumi_kong-2.7.0.tar.gz

    总的来说,Pulumi Kong库是Pulumi和Kong API Gateway之间的桥梁,它简化了云基础设施和API管理的流程,让开发者能够以更加灵活和高效的方式进行IaC操作。了解并熟练使用这个库,可以帮助开发者更好地利用Python和...

    api-gateway-kong:带有KONG +集成GUI和Konga的示例api网关

    KONG API网关演示 使用docker和docker-compose部署Kong API Gateway 快速开始 docker-compose up -d 现在,KONG默认运行 Kong Proxy HTTP Kong Proxy HTTPS 管理员 KONG管理员SSL

    kong-docs-cn:微服务Api网关Kong最新文档中文版

    9. **Kong Gateway**:Kong Gateway是Kong的商业化版本,提供额外的企业级特性,如高可用性、集群管理、更丰富的安全功能等。 10. **文档资源**:"kong-docs-cn"是Kong的中文官方文档,包含了详细的安装指南、配置...

    kong-client:快速将Spring项目集成到kong api网关

    kong-client是kong的java sdk,它是一种高性能且可扩展的微服务API网关 先决条件 Spring3.2.5+ JDK 1.7以上 Kong2.0.1+ 特征 与springMVC的快速集成:适用于所有spring Web应用程序,只需较少的配置即可工作 服务...

Global site tag (gtag.js) - Google Analytics