Kong

Kong

环境

ubuntu 18.04 Bionic

安装软件

软件列表

  • PostgreSQL
  • Kong
  • kong-dashboard

Kong官方安装步骤

本文以官方安装步骤为主线,适当补充了些内容。
Ubuntu Installation

PostgreSQL

官方安装步骤PostgreSQL: Linux downloads (Ubuntu)

apt-get install postgresql-10

软件不大,解压后20MB左右。

PostgreSQL入门

kong官方安装步骤的第二步需要配置PostgreSQL

参考PostgreSQL新手入门文中的第一种方法操作。

其中创建数据库用户kong,密码为kong,一个新的用户数据库kong并指定其为kong的SQL语句为:

CREATE USER kong WITH PASSWORD 'kong'; CREATE DATABASE kong OWNER kong;

Kong

使用apt安装

点击进入kong / kong-community-edition-deb我们可以发现使用apt安装的步骤。

添加密钥

curl 'https://bintray.com/user/downloadSubjectPublicKey?username=bintray' | sudo apt-key add -

添加软件源

点击*SET ME UP!*后,我们发现两种添加软件源的方法
{distribution}是指系统发行版本,ubuntu 18.04是bionic,可以通过运行lsb_release -cs获得,{components}一般填写成main。

  • 使用命令行

    echo "deb https://kong.bintray.com/kong-community-edition-deb {distribution} {components}" | sudo tee -a /etc/apt/sources.list
    

    懒人直接运行

    echo "deb https://kong.bintray.com/kong-community-edition-deb $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list
    
  • 使用GUI界面

    deb https://kong.bintray.com/kong-community-edition-deb {distribution} {components}
    

安装相应的软件

官方安装步骤的第1步的第三条命令修改成下:

sudo apt install kong-community-edition

安装kong-community-edition下载速度会比较慢,建议翻墙安装。

配置

Configuration loading

Kong的默认配置文件在/etc/kong/kong.conf.default,如果我们通过官方软件包安装Kong。

如果我们要开始配置Kong,可以复制此文件:
cp /etc/kong/kong.conf.default /etc/kong/kong.conf
如果配置中的有的值被注释掉,Kong将使用相应的默认值。启动时,Kong会查找可能包含配置文件的多个默认位置:

/etc/kong/kong.conf
/etc/kong.conf

可以使用-c指定配置文件路径

一般我们需要关注的配置值有:

pg_host = 127.0.0.1             # The PostgreSQL host to connect to.
pg_port = 5432                  # The port to connect to.
pg_user = kong                  # The username to authenticate if required.
pg_password =               # The password to authenticate if required.
pg_database = kong

其他注意事项

可以使用-v或者-vv看到执行详情。

配置服务

官方Configuring a Service

我在运行migrations和start命令时需要sudo

kong-dashboard

其实前面已经安装的可以正常用了。kong-dashboard是web ui。

好像有兼容问题。弃用了。

安装kong-dashboard

然后按照PGBI/kong-dashboard: Dashboard for managing Kong gateway中说明的

# Install Kong Dashboard
npm install -g kong-dashboard

# Start Kong Dashboard
kong-dashboard start --kong-url http://kong:8001

其中的kong:8001换成对应的URL和端口。

kong-dashboard的访问端口默认开在8080

konga

pantsel/konga: More than just another GUI to Kong Admin API

nodejs

Debian and Ubuntu based Linux distributions, Enterprise Linux/Fedora and Snap packages找到了Official Node.js binary distributions,根据其中的说明,ubuntu用户安装Node.js v11.x需要运行

curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash -
sudo apt-get install -y nodejs

安装konga

git clone https://github.com/pantsel/konga.git
cd konga
npm install

安装的时候竟然编译和下载起来了,挺费时间的,有些后悔安装konga了

配置

网上的教程中通常会在konga根目录/local/local.js继续配置数据库(用来供konga使用的,和kong没啥关系)。官方似乎更推荐在konga根目录/.env中配置。

我根据postgresql的官方文档33.1.1. Connection Strings配置了下,报错说public.konga_users不存在,我又仔细看了下konga的官方介绍,发现了

Konga is bundled with It’s own persistence mechanism for storing users and configuration.

A local persistent object store is used by default, which works great as a bundled, starter database (with the strict caveat that it is for non-production use only).

换句话说,如果你不在生产环境下使用的话,不用配置数据库,也不要弄konga根目录/.env,直接在konga根目录npm start然后在http://localhost:1337打开使用就行了。

注册个账户,指定下kong admin api,ok啦。

使用

和使用kong的admin api大同小异,好处是在于有GUI界面了,更为直观。

SERVICES

点击ADD NEW SERVICE添加从kong到web api的转发规则。

弹出的对话框中的Urlprotocol,host,port,path的Shorthand(速记,就是将几个参数整合在一块)

ROUTES

我们需要点击SERVICES中的SERVICE才能添加ROUTE。点击服务内Routes后点击ADD ROUTE,里面值得留意的选项有Strip PathPreserve Host

Strip Path

是否去除path的功能,如果设为No的话,kong向web api的url是service的path + route中匹配的path,否则是service的path

Preserve Host

When matching a Route via one of the hosts domain names, use the request Host header in the upstream request headers. By default set to false, and the upstream Host header will be that of the Service’s host

是否保留请求头中的Host字段。如果设为Yes,kong向web api的请求中会保留Host字段(好像是这样的)

参考

apigateway-kong(一)简介及部署

Kong Api 初体验

ubuntu部署kong以及安装Kong Dashboard

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值