linux 安装kong gateway

Posted 懒癌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
 
 

以上是关于linux 安装kong gateway的主要内容,如果未能解决你的问题,请参考以下文章

API Gateway - KONG 安装与配置

将 decK 指向远程运行的 Kong Gateway

API Gateway——KONG简单入门

Kong 入门指南 - 通过Kong Gateway公开您的服务

Kong 入门指南 - 通过Kong Gateway公开您的服务

Kong gateway health check配置方法