文章目录
以Docker方式安装和配置Kong网关和Konga控制台
前言
本文描述了以Docker方式安装和配置Kong网关和Konga控制台。
安装Kong
Kong官方提供的以docker-compose方式安装的docker-compose.yml有问题,所以这里还是以docker方式直接安装。
参考文档:
- https://docs.konghq.com/install/docker/
- https://github.com/Kong/docker-kong/tree/master/compose
创建容器网络
docker network create kong-net
启动PostgreSQL数据库
docker run -d --name kong-database \
--network=kong-net \
-p 5432:5432 \
-v $HOME/kong/postgres-data:/var/lib/postgresql/data \
-e "POSTGRES_USER=kong" \
-e "POSTGRES_DB=kong" \
-e "POSTGRES_PASSWORD=kong" \
postgres:9.6
说明:
- Kong支持Cassandra和PostgreSQL两种数据库,这里选用PostgreSQL关系型数据库。
- 挂载卷到本地宿主机的
$HOME/kong/postgres-data
目录。
初始化数据
docker run --rm \
--network=kong-net \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_PG_USER=kong" \
-e "KONG_PG_PASSWORD=kong" \
kong:latest kong migrations bootstrap
对Kong Admin API作安全防护
这一步也可以等Kong和Konga启动完成后,再在Konga上配置。
- 创建一个
admin-api
的Service,url为http://127.0.0.1:8001
。- 再创建一个
admin-api
的Route,paths为/admin-api
。- 再添加Key Auth认证插件。
- 再为
admin
Consumer 创建一个Key Auth credential,并设置apikey
值。
参见: