下载和安装
这里以Centos为例
sudo yum install kong-enterprise-edition-3.3.0.0.rpm
配置
Kong的官网提供了两个配置模式一个是 Using a database 另一个是使用 yaml配置文件的形式,安装好后默认配置文件默认是/etc/kong/kong.conf.default
二者对比
DB方案Kong的集群采用有库模式,数据库选择nosql数据库cassandra,kong集群中的节点共享数据库的配置。通过开发管理控制台,通过Kong提供的Admin API来管理Kong的相关转发配置(包括Services,Routes,Consumers,Plugins,Credentials等)。
DB-LESS方案Kong的集群采用DB-LESS模式,通过Kong提供的kong.yml配置来做Kong的相关转发配置(包括Services,Routes,Consumers,Plugins,Credentials等)。每一台kong依赖于各自的配置文件。yml配置完以后需要重启各自的kong服务生效。
适用场景
DB-LESS模式下的kong集群的优势在于,DB-LESS模式引入的组件少,高可用性较好,可维护性较好;劣势在于,不支持api的方式进行配置,需要自行开发服务或者引入第三方工具来替换配置文件。
DB模式的优点在于支持的插件更丰富,kong的功能扩展性更好,支持通过API的方式来直接修改配置;劣势在于引入了数据库,在高可用上和可维护性上相比较DB-LESS低一些。
这里我们采用配置文件的方式去部署
官网中提供了直接初始化的方式
kong config init
执行命令后就会生成一个 kong.yml
文件,这里我们将将default文件复制一份cp kong.conf.default kong.conf
这里我们就有了四个文件
我们在kong.conf
中将database
选项设置为off
,将declarative_config
选项设置为kong.yml
文件的路径:
database = off
declarative_config = /etc/kong/kong.yml
启动Kong
然后以kong.conf
配置文件启动
kong start -c /etc/kong/kong.conf
验证是否安装完成
你可以使用Admin API(正常应该返回200)
curl -i http://localhost:8001
它还提供了以下默认端口
:8000
: 用于侦听来自客户端的传入HTTP流量,并将其转发到上游服务。:8443
: 监听传入HTTPS流量的端口。该端口的行为与:8000端口类似,只是它只期望HTTPS流量。该端口可以使用kong.conf
禁用。:8001
: 用于配置的Admin API监听的端口。
,只是它只期望HTTPS流量。该端口可以使用kong.conf
禁用。:8001
: 用于配置的Admin API监听的端口。:8444
: 管理API监听HTTPS流量的端口