跳转到内容

Admin API

Nantian Gateway 控制面暴露一个 HTTP REST Admin API,用于运行时诊断、配置检查和运维查询。所有端点均通过控制面的 HTTP 监听器(默认端口 18081)提供。

认证级别行为
none无需认证。供健康探针和 Kubernetes 存活/就绪检查使用。
bearer-when-configured如果在控制面配置中设置了 Admin API Token,请求必须包含 Authorization: Bearer <token> 头。如果未配置 Token,该端点即为开放状态。
MethodPathAuth描述
GET/liveznone存活检查。进程存活时返回 200 OK
GET/readyznone就绪检查。控制面完成初始资源同步后返回 200 OK,否则返回 503
MethodPathAuth描述
GET/v1/summarybearer-when-configured集群配置概览:Listener、Route、Backend 和 Node 数量统计
GET/v1/dashboard/capabilitiesbearer-when-configured向 Dashboard UI 暴露的功能特性开关
GET/v1/snapshot-syncbearer-when-configured所有数据面节点的快照同步状态
GET/v1/snapshotbearer-when-configured当前推送至各数据面的完整 IR 快照内容
GET/v1/listenersbearer-when-configured列举所有 Listener
GET/v1/listeners/{name}bearer-when-configured查看指定 Listener 详情
GET/v1/routesbearer-when-configured列举所有 Route(HTTP、gRPC、TCP、UDP、TLS)
GET/v1/routes/{kind}/{namespace}/{name}bearer-when-configured查看指定 Route 详情
GET/v1/backendsbearer-when-configured列举所有 Backend 集群
GET/v1/backends/{namespace}/{name}bearer-when-configured查看指定 Backend 集群详情
GET/v1/nodesbearer-when-configured列举所有已连接的数据面节点
GET/v1/nodes/{nodeId}bearer-when-configured查看指定数据面节点详情
GET/v1/infrastructurebearer-when-configured基础设施状态(Deployment、Service、Pod 信息)
GET/v1/service-catalogbearer-when-configured服务目录列表
GET/v1/namespacesbearer-when-configured列举已知命名空间
GET/v1/resource-kindsbearer-when-configured列举可用的资源类型
GET/v1/topologybearer-when-configuredGateway、Route 和 Backend 的拓扑视图
GET/v1/dataplanesbearer-when-configured列举数据面实例
GET/v1/dataplanes/{nodeId}/summarybearer-when-configured查看指定数据面实例的摘要信息
MethodPathAuth描述
GET/v1/resourcesbearer-when-configured列举所有受管理资源
POST/v1/resourcesbearer-when-configured创建或更新受管理资源
GET/v1/resources/{kind}/{namespace}/{name}bearer-when-configured按 kind、namespace 和 name 获取指定资源
PUT/v1/resources/{kind}/{namespace}/{name}bearer-when-configured更新指定资源
DELETE/v1/resources/{kind}/{namespace}/{name}bearer-when-configured删除指定资源
MethodPathAuth描述
GET/v1/chatbot/configbearer-when-configured获取 Chatbot 配置
PUT/v1/chatbot/configbearer-when-configured更新 Chatbot 配置
POST/v1/chatbot/chatbearer-when-configured发送聊天消息。响应格式为 text/event-stream(SSE)。
MethodPathAuth描述
GET/v1/metrics/configbearer-when-configured获取指标后端配置
PUT/v1/metrics/configbearer-when-configured更新指标后端配置
POST/v1/metrics/querybearer-when-configured执行即时 PromQL 查询
POST/v1/metrics/query_rangebearer-when-configured执行范围 PromQL 查询
MethodPathAuth描述
GET/v1/ai/overviewbearer-when-configuredAI 网关概览(模型、提供商、请求量)
GET/v1/ai/servicesbearer-when-configured列举已配置的 AI 后端服务
GET/v1/ai/token-usagebearer-when-configuredToken 用量统计
GET/v1/ai/tracesbearer-when-configuredAI 请求追踪
GET/v1/ai/costbearer-when-configured各 AI 提供商成本分析
Terminal window
# 存活检查
curl -s -o /dev/null -w "%{http_code}" http://controlplane:18081/livez
# → 200
# 就绪检查(初始同步完成前可能返回 503)
curl -s http://controlplane:18081/readyz
# → 200 OK(或 503,如果尚未就绪)
Terminal window
# 集群概览
curl http://controlplane:18081/v1/summary
# 所有网关的所有 Route
curl http://controlplane:18081/v1/routes
# 指定 HTTPRoute 详情
curl http://controlplane:18081/v1/routes/httproute/default/my-app-route
# Backend 集群详情
curl http://controlplane:18081/v1/backends/default/backend-svc
# 数据面节点状态
curl http://controlplane:18081/v1/nodes
Terminal window
# 查看哪些节点已同步、哪些存在差异
curl http://controlplane:18081/v1/snapshot-sync
Terminal window
# 列举所有受管理资源
curl http://controlplane:18081/v1/resources
# 获取指定资源
curl http://controlplane:18081/v1/resources/httproute/default/my-app-route
# 创建或更新资源
curl -X POST http://controlplane:18081/v1/resources \
-H "Content-Type: application/json" \
-d '{"apiVersion":"gateway.networking.k8s.io/v1","kind":"HTTPRoute",...}'
# 删除资源
curl -X DELETE http://controlplane:18081/v1/resources/httproute/default/my-app-route
Terminal window
# 即时查询
curl -X POST http://controlplane:18081/v1/metrics/query \
-H "Content-Type: application/json" \
-d '{"query":"up"}'
# 过去一小时的范围查询
curl -X POST http://controlplane:18081/v1/metrics/query_range \
-H "Content-Type: application/json" \
-d '{"query":"rate(http_requests_total[5m])","start":"2025-01-01T00:00:00Z","end":"2025-01-01T01:00:00Z","step":"30s"}'
Terminal window
# 概览
curl http://controlplane:18081/v1/ai/overview
# Token 用量
curl http://controlplane:18081/v1/ai/token-usage

当配置了 Admin Token 时,需在 Authorization 头中附带 Token:

Terminal window
curl -H "Authorization: Bearer ${ADMIN_TOKEN}" http://controlplane:18081/v1/summary