前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >kong网关之Admin Api使用

kong网关之Admin Api使用

作者头像
友儿
发布2022-09-11 17:48:35
9670
发布2022-09-11 17:48:35
举报
文章被收录于专栏:友儿友儿
kong网关之Admin Api使用
  • 文档地址
  • 说明
    • 以下所有使用的IP : 192.168.56.2 为你的kongAdminApi的请求IP
    • 以下所有使用的IP : 192.168.56.3 为模拟上游服务接口的请求IP
    • http://192.168.56.3:9501/user 为模拟上游服务接口使用kong Admin APi 添加服务为例演示 服务
  • 端口说明
    • 8001是管理员API监听的默认端口。
    • 8444是管理API的HTTPS通信的默认端口。
    • 8000 端口为客户端访问端口。
  • 查询节点信息
    • curl http://192.168.56:8001
    • 返回的重要参数解释
      • node_id:正在运行的kong节点的uuid,当kong启动时随机生成,每次kong重启时这个uuid都会变
      • available_on_server:kong节点上安装的plugins的名称
      • enabled_in_cluster:kong节点中启用的插件,即在数据库中生成了对应存储表
  • 查询节点状态
    • curl http://192.168.56:8001/status
    • 返回的重要参数解释

字段

解释

total_requests

客户端请求总数

connections_active

包括等待连接的活动客户端连接的当前数量

connections_accepted

接受的客户端连接的总数

connections_handled

处理连接的总数。一般来说,除非达到一定的资源限制,否则参数值与接受值相同

connections_reading

当前Kong正在读取请求头的连接数

connections_writing

NGINX将响应写入客户端的连接的当前数量

connections_waiting

等待请求的空闲客户端连接的当前数量

reachable

反映数据库连接状态的布尔值。注意,此标志不反映数据库本身的健康状况。

  • 添加服务
    • 两种写法(url 这个属性很好用,可以直接指定 protocol、host、port and path)
      • curl -i -X POST http://192.168.56.2:8001/services -d "name=user" -d "url=http://192.168.56.3:9501/user"
      • curl -i -X POST http://192.168.56.2:8001/services -d "name=test.service" -d "protocol=http" -d "host=192.168.56.3" -d "path=/user"
    • 参数说明

字段

解释

备注

name

服务名称

protocol

协议:http or https 默认是 http

你后端服务用什么协议访问就写什么协议

host

后端服务域名

port

后端服务端口

path

后端服务子路径;没有就填 '/'

retries

重试次数:默认 5次

默认就行

connect_timeout

请求后端服务的超时时间:默认60000 ms

1秒(s)=1000毫秒(ms)

write_timeout

写超时时间:默认60000 ms

1秒(s)=1000毫秒(ms)

read_timeout

读超时时间:默认60000 ms

1秒(s)=1000毫秒(ms)

url

后端服务url地址

一般就用这种方式,可以直接指定:protocol、host、port and path, 不用单独指定啦

  • 查询服务
    • 查询所有服务
      • curl -i -X GET http://192.168.56:8001/services
    • 查询某个服务
      • curl -i -X GET http://192.168.56:8001/services/{服务名称 or 服务id}
    • 获取某个路由下的服务
      • curl -i -X GET http://192.168.56:8001/routes/{路由ID}/service
  • 更新服务
    • 可以用 PATCH 和 PUT,PATCH可以修改已存在的服务,PUT 如果服务不存在则新建一个。
    • curl -i -X PUT http://192.168.56:8001/services/{服务名称或ID} -d "name=user" -d "protocol=http" -d "host=192.168.56.3" -d "path=/user"
  • 删除服务
    • curl -i -X DELETE http://localhost:8001/services/{服务名称或ID} 路由
  • 路由是真正对外提供接口的实体,每个路由都与一个服务相关联,而服务可能有多个与之相关联的路由。每一个匹配给定路线的请求都将被提交给它的相关服务。
  • 路由参数说明

字段

解释

是否必填

protocols

协议列表,http、https。设置:protocols[]=http&protocols[]=https

必填

methods

接受请求的方法:GET 或 POST ,二者都行。设置 methods[]=GET&methods[]=POST

半选填:默认是二者都行

hosts

与此路由匹配的域名列表。例如:example.com。用作form-encode, 设置:hosts[]= Foo.com和hosts[]= BAR.com

半选填

paths

与此路由匹配的路径列表。例如:/test

必填:这个很重要,区分多服务

strip_path

选填

preserve_host

选填

service

与此路由绑定的服务。设置:service.id=<service_id>

必填

添加路由

代码语言:javascript
复制
curl -i -X POST --url  http://192.168.56:8001/routes/ \
-d 'protocols[]=http&protocols[]=https' \
-d 'paths=/shop' \
-d 'service.id=xxx-xxxx-xxxx-xx' #服务ID
# 访问接口
curl -i -X GET http://192.168.56:8000/shop/{后端服务路由}

查询路由

  • 查询全部路由
    • curl -i -X GET http://localhost:8001/routes/
  • 查询某个路由
    • curl -i -X GET http://localhost:8001/routes/xxx-xxx-xxx #路由ID
  • 查询某服务下的路由
    • curl -i -X GET http://localhost:8001/services/{服务名或服务ID}/routes

更新路由

代码语言:javascript
复制
curl -i -X PUT http://localhost:8001/routes/xxx-xxx-xxx  \ #路由ID
  -d 'protocols[]=http&protocols[]=https' \
-d 'paths=shop1' \

删除路由

  • curl -i -X DELETE http://localhost:8001/routes/xxx-xxx-xxx #路由ID 大概写一点添加服务,这里我是在虚拟机
本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • kong网关之Admin Api使用
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com