linux 安装kong gateway

kong 实际上就是一个ngnix,通过增加插件的方式对请求做前置处理,主要是授权
一.安装kong 服务;
https://konghq.com/install/  提供多种方式的安装,建议使用docker进行安装:
(centos的tar包的安装方式,建议使用node.js 安装 kong-dashboard)
最新版本的kong不支持kong-dashboard,所以我使用的版本是 v0.13.1
 
docker 安装 kong服务,   https://docs.konghq.com/install/docker/
  1. Create a Docker network

    You will need to create a custom network to allow the containers to discover and communicate with each other. In this example kong-net is the network name, you can use any name.

    $ docker network create kong-net
    
  2. Start your database

    If you wish to use a Cassandra container:

    $ docker run -d --name kong-database \
                  --network=kong-net \
                  -p 9042:9042 \ cassandra:3 

    If you wish to use a PostgreSQL container:

    $ docker run -d --name kong-database \
                  --network=kong-net \
                  -p 5432:5432 \ -e "POSTGRES_USER=kong" \ -e "POSTGRES_DB=kong" \ postgres:9.6 
  3. Prepare your database

    Run the migrations with an ephemeral Kong container:

    $ docker run --rm \
        --network=kong-net \
        -e "KONG_DATABASE=postgres" \ -e "KONG_PG_HOST=kong-database" \ -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" \ kong:latest kong migrations up 

    In the above example, both Cassandra and PostgreSQL are configured, but you should update the KONG_DATABASE environment variable with either cassandra or postgres.

    Note: migrations should never be run concurrently; only one Kong node should be performing migrations at a time.

  4. Start Kong

    When the migrations have run and your database is ready, start a Kong container that will connect to your database container, just like the ephemeral migrations container:

    $ docker run -d --name kong \
        --network=kong-net \
        -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.1-centos 
  5. Use Kong

    Kong is running:

 能获取到一大创json数据代表服务启动成功
 
二安装kong-dashboard    https://github.com/PGBI/kong-dashboard
 

Using Docker

# Start Kong Dashboard
docker run --rm -p 8080:8080 pgbi/kong-dashboard start --kong-url http://kong:8001

# Start Kong Dashboard on a custom port
docker run --rm -p [port]:8080 pgbi/kong-dashboard start --kong-url http://kong:8001

# Start Kong Dashboard with basic auth docker run --rm -p 8080:8080 pgbi/kong-dashboard start \ --kong-url http://kong:8001 \ --basic-auth user1=password1 user2=password2 # See full list of start options docker run --rm -p 8080:8080 pgbi/kong-dashboard start --help
 
注意点 如果kong的服务也是docker起的, kong-url的 address 应该为内网地址,localhost是无法连接的
 
如果使用了内网地址还无法连接,尝试以下代码:
  1. Create bridge network
    docker network create my-net
  2. Add Kong container to it
    docker network connect my-net kong
  3. Provide network info when you run kong-dashboard
    docker run --rm --network my-net -p 8080:8080 pgbi/kong-dashboard start --kong-url http://kong:8001
访问 http://your-address:8001
 
 

猜你喜欢

转载自www.cnblogs.com/xues/p/9586077.html
今日推荐