一、简介
Kong主要有三个组件:
1、Kong Server :基于 nginx 的服务器,用来接收API请求。
2、Apache Cassandra/PostgreSQL :用来存储操作数据。
3、Kong dashboard:官方推荐 UI 管理工具,也可以使用 RESTful 方式 管理 ADMIN API。
Kong采用插件机制进行功能定制,插件集(可以是0或N个)在API请求响应循环的生命周期中被执行。插件使用Lua编写,目前已有几个基础功能:HTTP基本认证、密钥认证、CORS(Cross-Origin Resource Sharing,跨域资源共享)、TCP、UDP、文件日志、API请求限流、请求转发以及Nginx监控。
二、docker 安装 Kong
1、创建网桥
$ docker network create kong-net
2、创建数据库,Kong 支持 Cassandra 或者 PostgreSQL,任选其一,以下以 PostgreSQL 为例
2.1 启动 PostgreSQL 容器
$ docker run -d --name kong-database \
--network=kong-net \
-p 5432:5432 \
-e "POSTGRES_USER=kong" \
-e "POSTGRES_DB=kong" \
postgres:9.6
2.2 启动 Cassandra 容器
$ docker run -d --name kong-database \
--network=kong-net \
-p 9042:9042 \
cassandra:3
3、初始化数据库
这里使用临时的 docker 容器进行初始化,初始化结束后即删除容器。
$ docker run --rm \
--network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
kong:latest kong migrations bootstrap
4、启动 Kong
$ docker run -d --n