2.Kong入门与实战 基于Nginx和OpenResty的云原生微服务网关 --- Kong 的安装和基本概念

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 请求流量,并将其路由转发给上游服务器
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值