以下页面描述网关的预期行为。开源版本与企业版本正在拆分中,首个正式版本发布后细节会同步更新。
管理控制台
网关通过控制台配置。配置文件只负责把进程启动起来。
与流量有关的一切都在控制台管理:provider、凭据、路由、路由策略、告警。 配置文件只负责告诉进程监听哪里、对外是什么域名。
边界
| 在配置文件中 | 在控制台中 |
|---|---|
| 监听地址与端口 | provider 及其 base URL |
| 对外域名 | 凭据与密钥池 |
| 控制台监听地址 | 路由 |
| 状态目录 | 回退链与权重 |
| 遥测导出目标 | 熔断策略 |
| 告警规则与渠道 |
判断标准很简单:凡是可能在某个周二下午要改的东西,都属于控制台。 为了调整一条回退链的顺序而去重启网关,那是一次发布 —— 而发布不是路由决策的正确单位。
打开控制台
控制台监听在独立于业务端口的地址上:
[console]
listen = "127.0.0.1:8081"
把它绑到内网地址、通过隧道或跳板机访问,是让控制台不暴露在公网上最简单的做法。 完整的启动配置见配置。
哪些改动立即生效
新增 provider、轮换凭据、调整回退链顺序、修改权重、编辑告警规则 —— 这些都会作用于在途流量, 不需要重启,也没有热加载步骤,不需要发送任何信号。
状态存在哪里
控制台管理的内容全部写入配置的状态目录。该目录是路由配置的唯一真实来源: 进程启动时读取它,发生变更时写入它。
按你对待任何生产配置的方式备份它。在 Kubernetes 中它应该放在 PersistentVolume 上,
而不是 ConfigMap 里 —— 见 Kubernetes。
凭据
在控制台录入的 provider 凭据会使用部署密钥派生的密钥加密后再落盘。 丢失该密钥意味着需要重新录入凭据,而不是凭据泄露。
凭据保存后不会再被显示出来。控制台会显示一个指纹,供你确认当前生效的是哪一个值。
访问控制
控制台有自己的认证,与用于承载推理流量的凭据相互独立。 调用方永远不需要控制台权限,控制台用户也不需要推理密钥。