2.1 Kong 的安装部署
2.1.1 环境介绍
2.1.2 直接安装
yum install epel-release
yum install kong-2.0.0.el7.amd64.rpm --nogpgcheck
kong version
2.1.3 容器安装
docker pull kong:2.0
2.1.4 Kubernetes 安装
2.2 Kong 数据库的安装部署
kong 数据库支持 PostgreSQL,Cassandra和DB-less(无数据库)三种安装模式。
2.2.1 PostgreSQL
2.2.2 Cassandra
2.2.3 DB-less
DB-less 模式,此时使用 yaml 或者 json 文件直接进行声明式配置即可。
DB-less模式与声明式配置相组合,具有以下优势:
1.减少过多依赖:所有配置都加载在内存中,不需要数据库的安装和管理。
2.适用于CI/CD场景:配置文件可以保存在git中,方便使用。
如果需要在这种模式下使用Kong,请先将 /etc/kong/kong.conf 配置文件中的 database 指令设置为 off,或者将环境变量 KONG_DATABASE
设置为 off,之后再启动 kong:
export KONG_DATABASE=off
kong start -c kong.conf
kong 启动后,通过 curl http://127.0.0.1:8001 命令直接访问 Admin API(管理端口),此时将返回整个 kong 的配置信息,通过查看其中的
database 是否为 off,可以验证kong是否运行在 DB-less 模式下面。
curl http://127.0.0.1:8001/routes,可以看到 data 为空。
kong config -c kong.conf init //生成 kong.yml 文件
kong config -c kong.conf parse kong.yml //编辑后,检查配置文件是否存在语法错误
注意:kong.yml 文件生成的路径在当前目录中。
有两种方法可以将声明性配置加载到 kong 的内存中:通过kong.conf 配置文件和通过Admin API。前者是编辑 kong.conf 配置文件中的
declarative_config 指令(或者使用等效的 KONG_DECLARATIVE_CONFIG 环境变量):
export KONG_DATABASE=off
export KONG_DECLARATIVE_CONFIG=kong.yml
kong start -c kong.conf
后者是使用 Admin API 管理的 /config 端点将声明性配置加载到正在运行的 kong 节点中:
http://127.0.0.1:8001/config config=@kong.yml
DB-less 模式下需要注意:
1.内存缓存要求
路由,服务等实体的配置必须符合Kong的缓存大小,请参考 kong.conf 中的 mem_cache_size。
2.没有中央数据库协调
由于每个节点都是完全独立的配置,所以没有集群传播机制。
3.只读的Admin API
因为需要通过文件的形式声明配置,所以只能通过get方法获取api,其他操作都会返回405。
4.插件的兼容性
大部分内置插件都可以运行,但有些插件由于需要数据库协调或创建外部内容而无法运行,比如与身份验证插件相关的或者redis限速。
2.3 Kong 基础配置
在默认情况下,kong 监听下面端口:
1. 8000 :监听来自客户端的 http 请求流量,并将其路由转发给上游服务器。
2. 8443 :监听传入的 https 请求流量,并将其路由转发给上游服务器
2.Kong入门与实战 基于Nginx和OpenResty的云原生微服务网关 --- Kong 的安装和基本概念
最新推荐文章于 2024-01-22 16:06:44 发布