docker安装单节点kong及kong dashboard
背景
Kong 是在客户端和(微)服务间转发API通信的API网关,通过插件扩展功能。可以取官网了解详细信息,这里不啰嗦了。
在去年公司决定将kong作为api网关的主要技术。我在前期也部署了几套环境用于开发和生产环境,在最近有项目需求又需要部署一套kong,于是萌生了写篇博客的想法。
在这里和大家分享下经历,难免会有些许错误,请各位看官不吝赐教。
kong安装
这里使用docker安装,也推荐使用docker,部署与维护太便利了。首先保证安装docker,可以查看我另一篇安装docker的文章,除了在线安装,还包括离线安装,可以满足内网环境下的安装问题。
- 首先下载kong的docker镜像已经postgres的docker镜像:
docker pull kong:0.13;
docker pull posgres:9.5;
#如你的版本与我不一致替换版本号即可,部署过程与配置是一致的。
- 启动posgres数据库
docker run -d --name kong-database \
-p 5432:5432 \
-e "POSTGRES_USER=kong" \
-e "POSTGRES_DB=kong" \
postgres:9.5
- 初始化数据库结构
docker run --rm \
--link kong-database:kong-database \
-e "KONG_DATABASE=postgres" \
-e "KONG_PG_HOST=kong-database" \
-e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \
kong kong migrations bootstrap
注意:如果kong低于0.15,使用up命令代替bootstrap。
- 启动kong
$ docker run -d --name kong \
--link kong-database:kong-database \
-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
注意:配置可以自定义,包括数据库连接,所以可以使用一个自有望数据库。值得一提的是多个kong共用一个数据库也是kong集群搭建原理的重要一环。
欢迎大家关注我的博客,每天都会更新内容分享给大家。