Kong的简介和安装 - 玩转Kong网关

Kong 是在客户端和(微)服务间转发API通信的API网关,通过插件扩展功能。Kong 有两个主要组件:

1、Kong Server :基于nginx的服务器,用来接收 API 请求。

2、Apache Cassandra:用来存储操作数据。

你可以通过增加更多 Kong Server 机器对 Kong 服务进行水平扩展,通过前置的负载均衡器向这些机器分发请求。根据文档描述,两个Cassandra节点就足以支撑绝大多数情况,但如果网络非常拥挤,可以考虑适当增加更多节点。

对于开源社区来说,Kong 中最诱人的一个特性是可以通过插件扩展已有功能,这些插件在 API 请求响应循环的生命周期中被执行。插件使用 Lua 编写,而且Kong还有如下几个基础功能:HTTP 基本认证、密钥认证、CORS( Cross-origin Resource Sharing,跨域资源共享)、TCP、UDP、文件日志、API 请求限流、请求转发以及 nginx 监控。

Kong可运行在某些 Linux 发行版、Mac OS X 和 Docker 中,无论是本地机还是云端服务器皆可运行。

除了免费的开源版本,Mashape 还提供了付费的企业版,其中包括技术支持、使用培训服务以及 API 分析插件。

使用Kong前后架构对比

上面简介摘自:http://www.infoq.com/cn/news/2015/04/kong


Kong是一个在Nginx运行的Lua应用程序,由lua-nginx-module实现。Kong和OpenResty一起打包发行,其中已经包含了lua-nginx-module。OpenResty不是Nginx的分支,而是一组扩展其功能的模块。

KONG可以在多种操作环境下安装。包括一下环境:

Kong官方支持的部署环境

这里主要使用下centos环境进行部署。

1、安装Kong

yum install -y https://kong.bintray.com/kong-community-edition-rpm/centos/7/kong-community-edition-0.13.1.el7.noarch.rpm

2、安装 PostgreSQL 9.5+

yum install https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-3.noarch.rpm

yum install postgresql95 postgresql95-server

/usr/pgsql-9.5/bin/postgresql95-setup initdb

vim /var/lib/pgsql/9.5/data/postgresql.conf

cat /var/lib/pgsql/9.5/data/pg_hba.conf | grep 127.0.0.1 | grep trust | sed -i s/ident/ trust/

sed -i  /^listen_addresses/c\listen_addresses=\'*\' /var/lib/pgsql/9.4/data postgresql.conf

systemctl enable postgresql-9.5 ; systemctl start postgresql-9.5

3、授权Kong数据库

su - postgres << EOF

psql << XOF

CREATE USER kong; CREATE DATABASE kong OWNER kong;

XOF

EOF

4、导入Kong数据

kong migrations up

5、启动Kong

cp /etc/kong/kong.conf.default /etc/kong/kong.conf

kong start

# kong stop   # kong reload 

6、验证Kong是否成功启动

curl -I -m 10 -o /dev/null -s -w '%{http_code}\n' http://localhost:8001/

if [[ $? -ne 0 ]] ;then echo "酱紫就成功了耶~"; fi

Kong默认监听下面端口:

8000,监听来自客户端的HTTP流量,转发到你的upstream服务上。

8443,监听HTTPS的流量,功能跟8000一样。可以通过配置文件禁止。

8001,Kong的HTTP监听的api管理接口。

8444,Kong的HTTPS监听的API管理接口。

7、安装kong-dashboard图形化管理

# 安装 Kong Dashboard

npm install -g kong-dashboard

# 启动 Kong Dashboard

kong-dashboard start --kong-url http://localhost:8001

# 用自定义端口启动 Kong Dashboard 

# kong-dashboard start \ --kong-url http://localhost:8001 \ --port [port]

# 使用权限认证启动 Kong Dashboard

# kong-dashboard start \ --kong-url http://kong:8001 \ --basic-auth user1=password1 user2=password2

# Kong Dashboard 帮助文档

# kong-dashboard start --help

注意:安装的对应版本,最新的Kong是0.14.x,而Kong-Dashboard暂时支持最高版本0.13.x

参考地址:https://github.com/PGBI/kong-dashboard

附:

Kong-Dashboard对应应用版本

然后,就可以访问 http://localhost:80080,使用Kong-Dashboard对Kong进行管理了。

大概是长这个样子的:


转载于:https://my.oschina.net/u/1404949/blog/3039465

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装Kong网关的步骤如下: 1. 安装依赖项 Kong需要以下软件包的支持: - OpenSSL - Lua - PostgreSQL - libpcre 你可以使用以下命令安装它们: ```bash sudo apt-get update sudo apt-get install openssl libpcre3 procps perl sudo apt-get install postgresql postgresql-contrib libpq-dev sudo apt-get install libssl-dev libreadline-dev libyaml-dev libxml2-dev libxslt-dev sudo apt-get install build-essential curl wget sudo apt-get install lua5.1 liblua5.1-dev ``` 2. 安装Kong 安装Kong之前,您需要先添加Kong的官方APT存储库: ```bash echo "deb https://kong.bintray.com/kong-deb `lsb_release -sc` main" | sudo tee -a /etc/apt/sources.list ``` 然后导入签名密钥: ```bash curl -o bintray.key https://bintray.com/user/downloadSubjectPublicKey?username=bintray sudo apt-key add bintray.key ``` 更新APT软件包索引并安装Kong: ```bash sudo apt-get update sudo apt-get install kong ``` 3. 配置Kong 配置文件位于`/etc/kong/kong.conf`,您可以使用以下命令编辑它: ```bash sudo nano /etc/kong/kong.conf ``` 修改`database`字段,将其设置为`postgres`: ```bash database = postgres ``` 然后,设置`pg_host`,`pg_port`,`pg_user`和`pg_password`,这些值应该对应您的PostgreSQL设置。 4. 创建数据库 创建一个新的PostgreSQL数据库: ```bash sudo su - postgres createdb kong ``` 5. 运行Kong 现在,您可以启动Kong服务: ```bash sudo kong start ``` Kong将在默认端口8000上运行。 6. 测试Kong 您可以使用以下命令测试Kong是否正常工作: ```bash curl -i http://localhost:8000/ ``` 您应该看到类似以下内容的输出: ``` HTTP/1.1 404 Not Found Date: Tue, 23 Mar 2021 01:45:48 GMT Content-Type: text/plain; charset=utf-8 Connection: keep-alive Server: kong/2.2.1 no Route matched with those values ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值