Kong网关安装之Docker版(2)

1.安装kong管理工具:konga或者kong-dashboard,这里选择konga

  • 拉取konga镜像:
      sudo docker pull pantsel/konga:0.14.4
    
  • 初始化konga
      docker run --rm --network=mynetwork pantsel/konga:0.14.4 -c prepare -a postgres -u postgresql://kong:kong@172.18.0.7:5432/konga
    
    报错:

    解决:
    postgresql版本太高导致: Failed to prepare database: error: column r.consrc does not exist,把postgresql换成低版本(9.6.4)即可

  • 创建konga容器
      docker run -d  --name konga 
      --network=mynetwork --ip 172.18.0.9 
      -p 1337:1337 
      -e "DB_ADAPTER=postgres" 
      -e "DB_HOST=172.18.0.7" 
      -e "DB_PORT=5432" 
      -e "DB_USER=kong" 
      -e "DB_PASSWORD=kong" 
      -e "DB_DATABASE=konga" 
      -e "KONGA_HOOK_TIMEOUT=120000" 
      -e "NODE_ENV=production" 
      pantsel/konga:0.14.4
    

  • 通过宿主机ip+映射端口(1337)访问konga


    创建用户名:xj**,密码:Xu****

  • 新建一个连接,连接kong网关

    点击"ACTIVATE"按钮去激活

2. Kong网关添加Consul服务注册信息(利用dns轮训访问后端)

  • 查看node info,查看一下dns的配置信息

    图中,dns_resolver就是配置的consul的信息
    我们打开kong的配置文件:kong.conf.default,编辑节点#dns_resolver =信息,把consul的访问地址信息添加上


    红圈中的172.18.0.10:8600地址为consul的dns轮询地址,8600为默认端口,不写端口,默认端口为53
    把配置文件copy到容器中:
    docker cp /home/xujk/Work/Docker/Kong/kong/conf/kong.conf.default kong:/etc/kong/kong.conf
    重启kong容器,通过konga查看参数

原文地址:https://www.cnblogs.com/kunwn/p/14545185.html