Kong标准软件基于Bitnami apache 构建。当前版本为2.4.58
你可以通过轻云UC部署工具直接安装部署,也可以手动按如下文档操作,该项目已经全面开源,可以从如下环境获取
配置文件地址: https://gitee.com/qingplus/qingcloud-platform
什么是Kong?
Kong是一款基于OpenResty(Nginx + Lua模块)编写的高可用、易扩展的,由Mashape公司开源的API Gateway项目。Kong是基于NGINX和Apache Cassandra或PostgreSQL构建的,能提供易于使用的RESTful API来操作和配置API管理系统,所以它可以水平扩展多个Kong服务器,通过前置的负载均衡配置把请求均匀地分发到各个Server,来应对大批量的网络请求。
快速运行
docker run --name kong bitnami/kong:latest
配置
环境变量
可定制的环境变量
Name | Description | Default Value |
---|---|---|
KONG_MIGRATE |
执行Kong数据库迁移。 | no |
KONG_EXIT_AFTER_MIGRATE |
执行数据库迁移后退出 Kong. | no |
KONG_PROXY_LISTEN_ADDRESS |
Kong 代理守护进程的监听地址. | 0.0.0.0 |
KONG_PROXY_HTTP_PORT_NUMBER |
Kong 代理守护进程的 HTTP 端口. | 8000 |
KONG_PROXY_HTTPS_PORT_NUMBER |
Kong 代理守护程序的 HTTPS 端口. | 8443 |
KONG_ADMIN_LISTEN_ADDRESS |
Kong 管理守护进程的监听地址。 | 0.0.0.0 |
KONG_ADMIN_HTTP_PORT_NUMBER |
Kong 管理守护进程的 HTTP 端口。 | 8001 |
KONG_ADMIN_HTTPS_PORT_NUMBER |
Kong 管理守护进程的 HTTPS 端口。 | 8444 |
KONG_NGINX_DAEMON |
为 nginx 守护进程设置静默日志流。 | off |
KONG_PROXY_LISTEN |
Kong代理监听地址。 | ${KONG_PROXY_LISTEN_ADDRESS}:${KONG_PROXY_HTTP_PORT_NUMBER}, ${KONG_PROXY_LISTEN_ADDRESS}:${KONG_PROXY_HTTPS_PORT_NUMBER} ssl |
KONG_PROXY_LISTEN_OVERRIDE |
覆盖代理监听。 | no |
KONG_ADMIN_LISTEN |
Kong管理员监听地址。 | ${KONG_ADMIN_LISTEN_ADDRESS}:${KONG_ADMIN_HTTP_PORT_NUMBER}, ${KONG_ADMIN_LISTEN_ADDRESS}:${KONG_ADMIN_HTTPS_PORT_NUMBER} ssl |
KONG_ADMIN_LISTEN_OVERRIDE |
覆盖管理员监听。 | no |
KONG_DATABASE |
选择 Kong 的数据库。 | postgres |
KONG_DATABASE |
选择 Kong 的数据库。 | postgres |
KONG_NGINX_USER |
设置nginx用户。 | ${KONG_DAEMON_USER} ${KONG_DAEMON_GROUP} |
只读环境变量
Name | Description | Value |
---|---|---|
KONG_BASE_DIR |
Kong 安装目录。 | ${BITNAMI_ROOT_DIR}/kong |
KONG_CONF_DIR |
Kong 配置目录。 | ${KONG_BASE_DIR}/conf |
KONG_DEFAULT_CONF_DIR |
Kong 配置目录。 | ${KONG_BASE_DIR}/conf.default |
KONG_CONF_FILE |
Kong 配置文件。 | ${KONG_CONF_DIR}/kong.conf |
KONG_DEFAULT_CONF_FILE |
Kong 默认配置文件。 | ${KONG_CONF_DIR}/kong.conf.default |
KONG_INITSCRIPTS_DIR |
Kong 初始化脚本目录。 | /docker-entrypoint-initdb.d |
KONG_SERVER_DIR |
创建 Kong Openresty 实例的目录。 | ${KONG_BASE_DIR}/server |
KONG_PREFIX |
Kong 安装目录。 | ${KONG_SERVER_DIR} |
KONG_DEFAULT_SERVER_DIR |
包含默认 Kong Openresty 实例文件的目录。 | ${KONG_BASE_DIR}/server.default |
KONG_LOGS_DIR |
Kong日志存储的目录。 | ${KONG_SERVER_DIR}/logs |
KONG_PID_FILE |
Kong 的 PID 文件的路径。 | ${KONG_SERVER_DIR}/pids/nginx.pid |
KONG_DAEMON_USER |
Kong system user. | kong |
KONG_DAEMON_GROUP |
Kong system group. | kong |
此外,该容器还支持通过以KONG_. 例如,通过设置KONG_LOG_LEVEL环境变量,Kong 将考虑该值而不是 中设置的属性kong.conf。建议设置以下环境变量:
-
KONG_DATABASE
: 使用的数据库类型。有效值:postgres或off。默认值:postgres - PostgreSQL database: KONG_PG_HOST, KONG_PG_PORT, KONG_PG_TIMEOUT, KONG_PG_USER, KONG_PG_PASSWORD。
配置说明
该image在/opt/bitnami/kong/conf/kong.conf中查找 Kong 配置文件,您可以使用自己的自定义配置文件覆盖该文件。
docker run --name kong \
-e KONG_DATABASE=off \
-v /path/to/kong.conf:/opt/bitnami/kong/conf/kong.conf \
bitnami/kong:latest
或使用 Docker Compose:
version: '2'
services:
kong:
image: 'bitnami/kong:latest'
ports:
- '8000:8000'
- '8443:8443'
environment:
# Assume we don't want data persistence for simplicity purposes
- KONG_DATABASE=off
volumes:
- /path/to/kong.conf:/opt/bitnami/kong/conf/kong.conf
日志
Kong Docker 映像将容器日志发送到stdout. 要查看日志:
docker logs kong