一步一步微服务☞Kong的简介和安装
Kong 是在客户端和(微)服务间转发API通信的API网关,通过插件扩展功能,这些插件在 API 请求响应循环的生命周期中被执行。插件使用 Lua 编写,而且Kong还有如下几个基础功能:HTTP 基本认证、密钥认证、CORS( Cross-origin Resource Sharing,跨域资源共享)、TCP、UDP、文件日志、API 请求限流、请求转发以及 nginx 监控.
Kong可运行在某些 Linux 发行版、Mac OS X 和 Docker 中,无论是本地机还是云端服务器皆可运行。
除了免费的开源版本,Mashape 还提供了付费的企业版,其中包括技术支持、使用培训服务以及 API 分析插件。
KONG可以在多种操作环境下安装。包括以下环境:
这节我们以centos7.6进行部署介绍:
1.安装kong:
如果要下载软件包的方式,请执行:
sudo yum install epel-release sudo yum install kong-2.0.2.*.noarch.rpm --nogpgcheck
也可以使用repository,请执行
sudo yum update -y
sudo yum install -y wget
wget https://bintray.com/kong/kong-rpm/rpm -O bintray-kong-kong-rpm.repo
export major_version=`grep -oE '[0-9]+\.[0-9]+' /etc/redhat-release | cut -d "." -f1`
sed -i -e 's/baseurl.*/&\/centos\/'major_version''/ bintray-kong-kong-rpm.repo
sudo mv bintray-kong-kong-rpm.repo /etc/yum.repos.d/
sudo yum update -y
sudo yum install -y kong
2.准备数据库:
准备数据库或声明性配置文件
Kong可以在有postgress或DB-less mode的情况下运行。
将使用kong.conf
其配置属性和一个kong.yml
文件将实体指定为声明性配置。操作如下:
1.kong的配置文件位于/etc/kong/kong.conf,入无该文件时,执行如下命令复制kong.conf.default为kong.conf,
cp /etc/kong/kong.conf.default /etc/kong/kong.conf
2.生成声明性配置文件。以下命令将kong.yml
在当前文件夹(/etc/kong)中生成一个文件。它包含有关如何填写的说明:
kong config init
修改kong.conf文件,以使kong在DB-less mode环境下运行
database = off
declarative_config = /path/to/kong.yml
运行kong
kong start [-c /path/to/kong.conf]
测试kong网关是否运行,返回相关数据即表示运行成功;
curl -i http://localhost:8001/
Postgres数据库环境:
一、安装postgres数据库,已安装的越过:
1.Install the repository RPM
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
2.Install the client packages
yum install postgresql12
3.Optionally install the server packages
yum install postgresql12-server
4.Optionally initialize the database and enable automatic start:
/usr/pgsql-12/bin/postgresql-12-setup initdb systemctl enable postgresql-12 systemctl start postgresql-12
二、创建数据库
cd /usr/pgsql-12/bin/ sudo -s -u postgres psql
执行创建数据库、用户
CREATE USER kong; CREATE DATABASE kong OWNER kong;
现在,运行数据库迁移:
kong migrations bootstrap [-c /path/to/kong.conf]
执行过程如遇到 failed to retrieve PostgreSQL server_version_num: FATAL: Ident authentication failed for user "kong",请给该用户设定密码,并修改postgres的授权方式为MD5,操作如下:
alter user kong with password 'kong';
修改/etc/kong/kong.conf配置文件,增加密码
此时注意修改postgresql-12的配置文件pg_hba.conf 的认证方式为MD5,位于/var/lib/pgsql/12/data/
host all all 127.0.0.1/32 md5
按需添加如下,开启postgress远程访问:
pg_hba.conf
postgresql.conf 修改listen_addresses = '*'
开启kong
kong start [-c /path/to/kong.conf]
可按需开启kong api等相关的远程访问:
参考自: