2.4 KiB
2.4 KiB
v0.2 FRP 公网入口规格
hwlab-v02-frpc 是 v02 的 FRP client Deployment,连接 master server 上稳定外部 frps,把 hwlab-v02 内部服务发布为 19666/19667。
在系统中的职责划分
- 将
hwlab-cloud-web:8080暴露为http://74.48.78.17:19666/。 - 将
hwlab-edge-proxy:6667暴露为http://74.48.78.17:19667/。 - 只承载 v02 公网入口,不复用或改义 DEV
17666/17667、PROD18666/18667。 - master
frpsallowPorts 是外部稳定服务配置;缺失时修 master-side frps,不改 v02 Service 或 DEV/PROD GitOps。
内部架构
ConfigMap/hwlab-v02-frpc-config保存frpc.toml,包含两个 TCP proxy:hwlab-v02-cloud-web和hwlab-v02-edge-proxy。Deployment/hwlab-v02-frpc使用外部镜像fatedier/frpc:v0.68.1,只挂载 config,不保存 Secret。- master
frps监听74.48.78.17:7000,必须允许 remotePort19666和19667。
API 接口说明
| 接口 | 说明 |
|---|---|
TCP 74.48.78.17:19666 |
FRP 转发到 hwlab-cloud-web.hwlab-v02.svc.cluster.local:8080。 |
TCP 74.48.78.17:19667 |
FRP 转发到 hwlab-edge-proxy.hwlab-v02.svc.cluster.local:6667。 |
| frpc logs | 判断 login to server success、start proxy success 或 port not allowed。 |
测试规格
T1
阅读 docs/reference/spec-v02-frpc.md,然后用 cli 手动测试以下内容:访问 http://74.48.78.17:19666/ 和 http://74.48.78.17:19667/health/live,确认分别到 v02 cloud-web 和 v02 cloud-api。
T2
阅读 docs/reference/spec-v02-frpc.md,然后用 cli 手动测试以下内容:读取 hwlab-v02-frpc logs,确认没有 port not allowed;若出现该错误,只修 master frps allowlist 并重启 frps。
T3
阅读 docs/reference/spec-v02-frpc.md,然后用 cli 手动测试以下内容:修复或验证 v02 FRP 后,同时验证 DEV 17666/17667 仍可用,不能把 DEV/PROD 入口当成 v02 证据。
规格的实现情况
| 规格项 | 状态 | 说明 |
|---|---|---|
| v02 web/API 端口 | 已实现 | 19666/19667 在 frpc config 中固定。 |
| 外部 frpc 镜像 | 已实现 | 使用 fatedier/frpc:v0.68.1。 |
| master frps allowlist 依赖 | 已实现/外部维护 | 由 master-side frps 配置控制。 |
| HTTP health endpoint | 不适用 | frpc 本身不提供 HWLAB HTTP health。 |
| 自动 frps 配置 GitOps | 未实现 | master frps 仍是边缘运维对象。 |