目录
一、Kong 初印象
在当今数字化时代,随着微服务架构和容器化技术的广泛应用,API 网关成为了企业架构中不可或缺的一环。Kong,作为一款备受瞩目的开源 API 网关,正以其卓越的性能和丰富的功能,在运维领域占据着重要地位。
Kong 由 Mashape 公司开源,基于 Nginx 和 OpenResty 开发,以其高效的处理能力和灵活的插件机制,成为了众多企业管理 API 的首选工具。它不仅能实现 API 的路由、流量控制、认证授权等基础功能,还支持插件扩展,方便企业根据自身需求定制个性化的网关服务。目前,Kong 在全球范围内拥有广泛的用户群体,像纳斯达克、通用电气、VMware、Cisco、MasterCard 等知名企业,都在借助 Kong 强大的功能来管理和优化他们的 API 生态系统 。这也足以证明了 Kong 在 API 网关领域的影响力和可靠性。
二、Kong 搭建指南
(一)环境准备
在搭建 Kong 之前,我们需要准备好相应的服务器环境和软件依赖。
- 服务器环境:建议使用配置较高的 Linux 服务器,以确保 Kong 能够稳定运行。如 CentOS 7.x 及以上版本,因为其稳定性和广泛的社区支持,能为 Kong 的搭建和运行提供良好的基础 。
- 软件依赖:
-
数据库:Kong 支持使用 PostgreSQL 9.5 + 或 Cassandra 3.x.x 作为数据存储。这里我们推荐使用 PostgreSQL,它具有强大的数据管理能力和稳定性。在安装 PostgreSQL 时,需确保其版本符合要求,并正确配置数据库用户和权限。
-
其他依赖:还需要安装一些基础的开发工具和库,如 gcc、pcre、pcre-devel、zlib、zlib-devel、openssl、openssl-devel 等。这些工具和库为 Kong 的编译和运行提供必要的支持,例如 pcre 用于处理正则表达式,openssl 用于提供加密和安全相关的功能。
(二)安装步骤详解
以下以 CentOS 系统为例,详细介绍 Kong 的安装流程:
下载安装包:首先,从 Kong 官方网站或镜像源下载适合 CentOS 系统的 Kong 安装包。可以使用以下命令进行下载:
curl -Lo kong-2.5.0.amd64.rpm $(rpm --eval "https://download.konghq.com/gateway-2.x-centos-%{centos_ver}/Packages/k/kong-2.5.0.el%{centos_ver}.amd64.rpm")
安装依赖:安装 Kong 所需的依赖包,执行以下命令:
sudo yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
安装 PostgreSQL:
- 添加 PostgreSQL 的 yum 源:
sudo yum install -y https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-3.noarch.rpm
- 安装 PostgreSQL 服务器和相关组件:
sudo yum install -y postgresql95-server postgresql95-contrib
- 初始化数据库:
sudo /usr/pgsql-9.5/bin/postgresql95-setup initdb
- 设置开机自启并启动 PostgreSQL 服务:
sudo systemctl enable postgresql-9.5.service
sudo systemctl start postgresql-9.5.service
配置 PostgreSQL:
- 修改 PostgreSQL 默认用户 postgres 的密码:
sudo passwd postgres
- 创建 Kong 所需的数据库用户和数据库:
sudo adduser kong
su postgres
psql
create user kong with password '123456';
create database kong owner kong;
grant all privileges on database kong to kong;
\q
安装 Kong:使用 yum 命令安装下载好的 Kong 安装包:
sudo yum install kong-2.5.0.amd64.rpm
配置 Kong:复制 Kong 的默认配置文件,并进行相应的修改:
cp /etc/kong/kong.conf.default /etc/kong/kong.conf
vi /etc/kong/kong.conf
在配置文件中,主要修改以下内容:
database = postgres
pg_host = 127.0.0.1
pg_port = 5432
pg_user = kong
pg_password = 123456
pg_database = k