记录下 kong api 网关的搭建过程 (01)-- 安装篇 - (sunznx) 振翅飞翔
05 September 2019

kong 由两部分组成: db + kong, db 可以是 postgres 也可以是 cassandra。
具体怎么安装大家看 https://hub.docker.com/_/kong?tab=description ,如果大家都用 docker 来运行直接看官方文档就行了

如果你和我一样使用的是本地的 postgresql,需要一些特殊的配置

mac 安装的 postgresql 默认是禁止远程访问的,需要开启。开启方法可以参考这个链接 How-to-enable-remote-access-to-PostgreSQL-server-on-a-Plesk-server ,然后执行

CREATE USER kong;
CREATE DATABASE kong OWNER kong;

配置完 postgresql 之后,要先初始化 kong,初始化的命令在 0.x1.x 两个版本有细微不同

# 1.x 版本
kong migrations bootstrap

# 0.x 版本
kong kong migrations up

我这里演示的是 0.13.0 版本

# docker 能访问到的本地 IP 是 192.168.20.1,因此我的命令是 
docker run --rm \
    --add-host kong-database:192.168.20.1 \
    -e "KONG_DATABASE=postgres" \
    -e "KONG_PG_HOST=kong-database" \
    -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
    kong:0.13.0 kong migrations up

执行完初始化之后再运行 kong

docker run -d --name kong \
    --add-host kong-database:192.168.20.1 \
    -e "KONG_DATABASE=postgres" \
    -e "KONG_PG_HOST=kong-database" \
    -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
    -e "KONG_PROXY_ACCESS_LOG=/dev/stdout" \
    -e "KONG_ADMIN_ACCESS_LOG=/dev/stdout" \
    -e "KONG_PROXY_ERROR_LOG=/dev/stderr" \
    -e "KONG_ADMIN_ERROR_LOG=/dev/stderr" \
    -e "KONG_ADMIN_LISTEN=0.0.0.0:8001, 0.0.0.0:8444 ssl" \
    -p 8000:8000 \
    -p 8443:8443 \
    -p 8001:8001 \
    -p 8444:8444 \
    kong:0.13.0