• Docker安装Kong API Gateway并使用


    我最新最全的文章都在 南瓜慢说 www.pkslow.com ,文章更新也只在官网,欢迎大家来喝茶~~

    1 简介

    Kong不是一个简单的产品,本文讲的Kong主要指的是Kong API Gateway,即API网关。这次主要是简单体验一把,通过Docker安装,然后使用它的Route功能。

    2 安装

    创建Docker的Network:

    # 创建
    $ docker network create kong-net
    # 检查
    $ docker network list
    

    Kong可以使用无数据库模式,为了窥探一下它的配置,我们还是使用数据库,启动如下:

    $ docker run -itd --network=kong-net 
        --name kong-database 
        -e POSTGRES_DB=kong 
        -e POSTGRES_USER=pkslow 
        -e POSTGRES_PASSWORD=pkslow-kong 
        -p 5432:5432 
        postgres:13
    

    接着进行migrations操作,可以理解为是准备数据库:

    $ docker run --rm 
         --network=kong-net 
         -e "KONG_DATABASE=postgres" 
         -e "KONG_PG_HOST=kong-database" 
         -e "KONG_PG_USER=pkslow" 
         -e "KONG_PG_PASSWORD=pkslow-kong" 
         kong:2.5.0-ubuntu kong migrations bootstrap
    

    准备就绪后,就可以启动Kong了:

    $ docker run -itd --name kong 
         --network=kong-net 
         -e "KONG_DATABASE=postgres" 
         -e "KONG_PG_HOST=kong-database" 
         -e "KONG_PG_USER=pkslow" 
         -e "KONG_PG_PASSWORD=pkslow-kong" 
         -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 127.0.0.1:8001:8001 
         -p 127.0.0.1:8444:8444 
         kong:2.5.0-ubuntu
    

    它的Admin端口为8001,通过下面命令验证:

    $ curl -i http://localhost:8001/
    

    3 测试Route功能

    先创建一个服务,可以理解为注册一个服务,服务名为pkslow,地址为( www.pkslow.com ):

    $ curl -X POST --url http://localhost:8001/services/ --data 'name=pkslow' --data 'url=https://www.pkslow.com'
    

    创建路由规则,路径为/pkslow,对应的服务为pkslow:

    $ curl -X POST --url http://localhost:8001/services/pkslow/routes --data 'paths[]=/pkslow'
    

    这样,当我们访问路径/pkslow时,其它访问的就是服务pkslow的内容。

    访问测试,注意端口为8000了:

    $ curl -i -X GET --url http://localhost:8000/pkslow
    

    到此,我们就成功安装并使用了Kong Gateway的Route功能了。

    4 总结

    Kong的强大在于它可以安装许多的插件来实现各种功能,如验证、限流、缓存等。它的强大,等你来挖掘。

  • 相关阅读:
    针对 jQuery Gridly 控件显示多少列的问题。
    网上找的几款拖拽插件
    商品价格加价区间的实现(策略模式)
    【C#】GC和析构函数(Finalize 方法)
    C#微信开发之旅(一):前言
    Opserver配置Redis、SqlServer监控
    线程安全的方式引发事件
    使用SSL的IIS下WCF配置(CSDN手动迁移)
    由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作--解决方法(CSDN手动迁移)
    EF Code First(The model backing the '***' context has changed since the database was created.解决方法)(CSDN手动迁移)
  • 原文地址:https://www.cnblogs.com/larrydpk/p/15097070.html
Copyright © 2020-2023  润新知