Kong

来自开放百科 - 灰狐
跳转到: 导航, 搜索

Kong 是一个基于Nginx构建的MicroservicesAPI开源(Apache v2)管理层。

目录

简介

云原生 API 网关,Apache v2 许可证。

安装

先安装好 LuaRocksLuaJIT

brew tap mashape/kong
brew install kong
kong --help
kong start
curl 127.0.0.1:8001
http://localhost:8001
http://localhost:8001/status/
http://localhost:8001/consumers/
http://localhost:8001/apis/
http://localhost:8001/apis/mockbin
http://localhost:8001/plugins
http://localhost:8001/plugins/enabled
http://localhost:8001/apis/mockbin/plugins
http://localhost:8001/plugins/schema/oauth2

Cassandra

使用测试数据库,/etc/kong/kong.yml,类似:

database: cassandra
cassandra:
  contact_points:
    - "ec2-54-172-252-55.compute-1.amazonaws.com:35049"

PostgreSQL

Kong支持PostgreSQL存储。

Docker

Pull官方镜像

$ docker pull cassandra:2.2.4
$ docker pull mashape/kong

启动Cassandra

docker run -p 9042:9042 -d --name cassandra cassandra:2.2.4

启动Kong

$ docker run -d --name kong \
           --link cassandra:cassandra \
           -p 8000:8000 \
           -p 8443:8443 \
           -p 8001:8001 \
           -p 7946:7946 \
           -p 7946:7946/udp \
           mashape/kong

运行

$ curl http://127.0.0.1:8001

Vagrant

$ git clone https://github.com/Mashape/kong
cd kong
$ git checkout next
$ cd ..
$ git clone https://github.com/Mashape/kong-vagrant
$ cd kong-vagrant/
$ KONG_PATH=/Users/huihoo/kong vagrant up
$ vagrant ssh
$ cd /kong
$ sudo make dev
$ kong start -c kong_DEVELOPMENT.yml
$ curl http://localhost:8001

DC/OS

组件

Kong可与两种不同的组件协同工作:

  • Nginx: Kong使用经过修改的Nginx web服务器作为代理服务器,负责处理API请求。
  • Apache Cassandra: 用作数据存储(datastore)服务器,负载存储来自Kong操作的数据。

相关Lua模块组件:

项目服务

管理仪表盘

npm install -g kong-dashboard
kong-dashboard start
http://localhost:8080
git clone https://github.com/rsdevigo/jungle
cd jungle
npm install
bower install
vim modules/core/config/core.client.constants.js
grunt && grunt serve
http://localhost:3000

常见问题

/usr/local/bin/luajit: not found

git clone http://luajit.org/git/luajit-2.0.git
cd luajit-2.0
git pull
make 
sudo make install

error loading module 'lfs' from file '/usr/local/lib/lua/5.1/lfs.so':

sudo luarocks install luafilesystem

Can't find serf

https://www.serfdom.io/downloads.html

Kong can't find nginx #610

https://github.com/Mashape/kong/blob/master/kong/cli/services/nginx.lua
sudo find / -type f -name "nginx"

error loading module 'lua_uuid'

sudo luarocks install lua_uuid

Missing required argument: kong-url

kong-dashboard start --kong-url http://192.168.0.241:2698

这是使用了容器所在的主机端口

            {
               "host_port": 2698,
               "container_port": 8001,
               "protocol": "tcp"
           }

用户

图集

链接

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱