• kong网关部署


    软件版本:

    • Postgresql:9.6 (不使用最新版,是因为 konga 不支持)

    • Kong:3.4.2

    • konga:0.14.7 (UI管理界面)

    ### Postgresql部署

    ## docker-compose.yml

    复制代码
    version: '3'
    services:
    postgres:
    image: postgres:9.6
    container_name: postgres_9.6
    volumes:
    - /home/kong/konga_test_ctw/postgres9.6_data:/var/lib/postgresql/data
    environment:
    POSTGRES_USER: root #在此填写postgres的用户名
    POSTGRES_DB: postgres #在此填写postgres的数据库名,默认是postgres
    POSTGRES_PASSWORD: qweqweasdASD #在此填写posgres的数据库密码
    ports:
    - "5432:5432"
    复制代码

    运行后需要创建用户,分别提供给kong、konga两个连接
    进入容器:

    复制代码
    psql -U root -d postgres
    CREATE USER kong WITH PASSWORD 'kong';
    CREATE DATABASE kong OWNER kong;
    
    CREATE USER konga WITH PASSWORD 'konga';
    CREATE DATABASE konga OWNER konga;
    复制代码

    ### kong3.4.2部署 (https://docs.konghq.com/gateway/3.4.x/install/linux/rhel/)

    一、安装kong

    yum install -y ./kong-3.4.2.rpm

    /etc/kong/可以看到kong.conf.default配置文件模板
    cp kong.conf.default kong.conf

    vim kong.conf

    复制代码
    admin_listen = 0.0.0.0:8001 reuseport backlog=16384, 0.0.0.0:8444 http2 ssl reuseport backlog=16384
    nginx_http_include = /etc/kong/nginx/*.kong.conf
    
    database = postgres #使用 PostgreSQL 作为数据库
    pg_host = 127.0.0.1 # 数据库Ip
    pg_port = 5432 # 数据库端口
    pg_timeout = 5000 # 数据库Timeout 时间
    pg_user = kong # 登录用户.
    pg_password = kong # 登录用户密码
    pg_database = kong # 连接的数据库名称
    
    proxy_listen = 0.0.0.0:80 reuseport backlog=16384, 0.0.0.0:443 http2 ssl reuseport backlog=16384
    复制代码

    二、初始化

    kong migrations bootstrap -c /etc/kong/kong.conf

    三、启动

    kong start -c /etc/kong/kong.conf

    四、验证

    curl -i http://localhost:8001


    ### konga管理后台

    一、初始化数据库

    docker run --rm --link postgres_9.6:postgresql --net kong_default pantsel/konga:0.14.7 -c prepare -a postgres -u postgres://konga:konga@192.168.0.95:5432/konga

    解析

    复制代码
    --net postgresql-9-6_default :将当前启动容器加入到postgresql的docker网络中,注:容器网络查看命令docker inspect postgres_9.6,如下图就是容器当前的网络名称:
    
    --link postgres_9.6:postgresql :将当前启动容器连接到指定容器,--link 连接容器名称:别名
    
    -c prepare -a postgres:必带,初始化数据库参数
    
    -u postgres://konga:kongapassword@postgresql:5432/konga:数据库连接信息 postgres://数据库用户名称:用户密码@[Ip或 容器名称]:端口号/数据库名
    复制代码

    二、启动konga

    docker run -d -p 1337:1337 -e "DB_ADAPTER=postgres" -e "DB_HOST=192.168.0.95" -e "DB_PORT=5432" -e "DB_USER=konga" -e "DB_PASSWORD=konga" -e "DB_DATABASE=konga" -e "NODE_ENV=production" --name konga pantsel/konga:0.14.7

    三、验证

    http://192.168.0.95:1337

     

     

    总结优化容器写法

    复制代码
    vim docker-compose.yml
    
    version: '3'
    services:
      postgres:
        image: postgres:9.6
        container_name: postgres_9.6
        restart: always
        volumes:
          - /home/n8n8/kong/postgres9.6_data:/var/lib/postgresql/data
        environment:
          POSTGRES_USER: root #在此填写postgres的用户名
          POSTGRES_DB: postgres #在此填写postgres的数据库名,默认是postgres
          POSTGRES_PASSWORD: qweqweasdASD #在此填写posgres的数据库密码
        ports:
          - "5432:5432"
      konga:
        image: pantsel/konga:0.14.7
        container_name: konga
        environment:
          - DB_ADAPTER=postgres
          - DB_HOST=192.168.0.95
          - DB_PORT=5432
          - DB_USER=konga
          - DB_PASSWORD=konga
          - DB_DATABASE=konga
          - NODE_ENV=production
        ports:
          - "1337:1337"
        restart: always
    复制代码

     

  • 相关阅读:
    java 对接微信支付Native下单API报错: java.security.InvalidKeyException: Illegal key size
    手撕前端面试题【javascript】
    Linux权限:权限的概念及管理、粘滞位
    ArcGIS Pro实践技术应用、制图、空间分析、影像分析、三维建模、空间统计分析与建模、python融合
    nodejs 简单介绍一下四种流(stream)的知识
    《c++ Primer Plus 第6版》读书笔记(6)
    Ajax--form表单与模板引擎--模板引擎的基本概念 - art-template模板引擎
    Mybatis TypeHandler 介绍及使用
    Mysql判断字段是否为NULL
    win10系统下使用opencv-dnn部署yolov5模型
  • 原文地址:https://www.cnblogs.com/tingwei/p/18263538