项目地图(PROJECT-MAP)— k8s_ins¶
接任务先查第 1 节路由表;问「现在什么状态、下一步做什么」去
HANDOFF.md;问「怎么操作、怎么排障」去对应工程的RUNBOOK.md/SOP.md。 本文件只描述工程的身份与结构(有哪些工程、谁依赖谁、任务该进哪个门),不写当前状态、待办与操作步骤。 身份标签四档:活工程(仍在用、会被重跑或继续开发)/ 服务档案(对应一个在运行的服务)/ 留档(已结束的一次性主题,供追溯)/ 数据源(提供事实与索引,不承载变更)。
1. 任务路由表¶
| 任务 / 症状 | 进哪个目录 | 先读哪份文档 | 入口命令 |
|---|---|---|---|
| K8s 集群重建、重跑部署、单节点基线变更 | k8s_136_cluster_deploy |
docs/RUNBOOK.md 第 4、5 章 |
python main.py --config config/deploy.yaml [--dry-run] |
| 控制面多 master HA ↔ 单 master 扩缩容 | k8s_136_cluster_deploy |
docs/SOP.md 5.10、docs/RUNBOOK.md 第 4.3 节 |
python control_plane_scale.py --config config/deploy.yaml --shrink\|--expand [--dry-run] |
kubectl 连不上 apiserver(connection refused / EOF / TLS timeout) |
k8s_136_cluster_deploy |
docs/RUNBOOK.md 第 8 章场景 1(含 SELinux 分支) |
无专用入口,按 RUNBOOK 逐步诊断 |
入口 VIP:16443 不通、haproxy 起不来、SELinux 拒绝 |
k8s-restart-16443-selinux-20260929 |
SOP.md |
ssh root@192.168.31.10 "systemctl is-active haproxy; getenforce" |
| haproxy 日志出现已关机后端告警 / SELinux 残留隐患复核 | k8s-followup-20260929 |
SOP.md、20260929-K8s全节点-SELinux-AVC巡检报告.md |
无 |
| 部署工程为何不再关闭 SELinux | k8s-deploy-yaml-selinux-20260929 |
SOP.md |
无 |
| 集群入口证书 / 端口 / 路由不生效 / Dashboard 401 | traefik_deploy |
RUNBOOK.md |
helm upgrade --install traefik ... -f values.yaml(OCI 源) |
| 新增公网或内网暴露面、某域名公网 502、frpc 无转发 | ingress_tunnel_deploy |
RUNBOOK.md 第 1 节与附录 A |
python main.py --config config/ingress.yaml |
| StorageClass / PVC 动态供给异常、快照恢复、卷扩缩容 | nfs-storage |
RUNBOOK.md 第 1 节 |
无专用入口(helm + kubectl apply -f manifests/) |
| NFS 元数据延迟高、挂载参数需要重调 | nfs-mount-tuning |
docs/SOP.md |
.venv/bin/python main.py --config config/tune.yaml [--dry-run\|--rollback] |
| MariaDB 不可用、取 root 口令、数据盘异常 | mariadb-deploy |
RUNBOOK.md 第 1 节 |
helm install -f charts/mariadb/values.yaml |
| 监控体系要建成什么样、当前差哪些、下一步做什么 | docs/MONITORING-ROADMAP.md |
该文件第 3 节(G1–G8 缺口台账)、第 4 节(P0–P2 三步蓝图) | 无(蓝图与台账) |
| 日志查不到 / 要查容器或主机日志、按集群域看日志、纳管 deb 系主机或网络设备日志、探测目标持续失败、证书到期告警、Kibana 打不开 | monitoring-p2-20261001 |
docs/RUNBOOK.md(日常与故障处置;§4.5 分域视图、§4.6 宿主 rsyslog 与网络设备日志)、docs/SOP.md、docs/SOP-kibana-domain-view.md、docs/SOP-onboard-deb-network.md |
.venv/bin/python main.py {precheck\|deploy\|verify\|drift\|rollback\|kibana} |
日志与指标互跳 / Grafana 大盘的日志入口 / 指标侧裸主机名标签(hostname) |
log-metrics-crosslink-20261002 |
SOP.md |
无(展示层与抓取标签变更,两侧工程各自 deploy) |
| 监控 / 告警 / Grafana 不可用、抓取目标 down、TSDB 容量 | prometheus_deploy |
RUNBOOK.md 第 1 节 |
helm upgrade --install ... -f values.yaml + kubectl apply -f manifests/ |
| Dell R620 硬件温度/风扇监控、本机 IPMI 指标缺失或陈旧、硬件告警邮件收不到 | dell-r620-monitor-20260929 |
docs/RUNBOOK.md 第 8 章、docs/SOP.md |
sudo -n .venv/bin/python main.py {precheck\|deploy\|verify\|drift\|rollback} |
| 环境主机监控扩面:14 台非 K8s 主机(Slurm/Lustre/LSF/HPC/FlexLM)无指标、主机侧告警缺失、大盘无 HPC 语义 | env-monitor-deploy |
docs/RUNBOOK.md 第 3、8 节;docs/SOP.md |
.venv/bin/python main.py {precheck\|fetch-dashboards\|deploy\|verify\|drift\|rollback} |
| 集群外主机(14 台非 K8s)只读取数、摸清远端执行接口(交互式取值,非工程子命令) | monitoring-p2-20261001(utils/cmd.py 的 SSHRunner) |
docs/BASELINE.md 第 4 节 |
cd monitoring-p2-20261001 && .venv/bin/python -c "from utils.cmd import SSHRunner; print(SSHRunner().run('<ip>','<cmd>').stdout)" |
| GitLab Web/API 异常、升级 chart、调整 webservice 资源 | gitlab-deploy-v2 |
RUNBOOK.md 第 1、2 节 |
helm upgrade --install gitlab ... -f values-gitlab.yaml -n server |
| GitLab 502 / webservice OOM / Puma worker 被回收 | gitlab-502-webservice-oom |
INCIDENT-20260920-webservice-oom-502.md |
无 |
| LDAP 登录或条目异常、phpLDAPadmin 报错 | ldap-deploy(子工程 pla-frame409-fix/) |
SOP.md;子工程 pla-frame409-fix/SOP.md |
helm install -f values-phpldapadmin.yaml |
| 需要主机角色 / IP 拓扑,或要取服务口令 | env-inventory |
inventory.yaml、k8s-services.yaml |
python build_secrets_env.py(刷新凭据快照,幂等) |
追溯「为什么业务都在 server 命名空间」 |
ns_migration |
RUNBOOK.md 第 1 节 |
无 |
| 追溯旧集群某组件当年的清单或排障过程 | 已清理,见 cleanup-server-legacy-20260929 |
SOP.md(删除范围与「无备份」事实) |
无 |
追溯 monitoring_upgrade/ 的去向或恢复 |
cleanup-20260929 |
SOP.md、backup/README.md |
无 |
| 提升 agent 执行效率 / 让每日成本审查的行为建议落地、压缩工具调用步数与 token 消耗 | agent-efficiency-skill-20260930 |
SOP.md;全局技能 ~/.trae-cn/skills/ops-execution-efficiency/SKILL.md |
无(技能为按需加载的规则文本) |
SSH 连接慢 / 握手次数多 / 共享库连接池是否复用 / 改 py_public_modules 后要回归哪些工程 |
conn-reuse-refactor-20260930 |
SOP.md;共享库契约 ~/.trae-cn/skills/deployment-tool-engineering/references/shared-lib-contract.md |
无(改动对象为项目外共享库;回归命令见契约文件) |
| 追溯 precheck 耗时收益归属(合并 vs 并发)/预检并发度配置改不动 | attribution-split-20260930 |
MEASUREMENT.md |
测量对象为 env-monitor-deploy;复测命令见其第 4 节 |
| 追溯「效率规则为何没拦住我」/准备做规则改动的对照验证 | agent-efficiency-rule-fix-20260930 |
SOP.md(含缓存计费实测与改前基线) |
无(改动对象为全局规则与全局技能,不承载运行服务) |
| SELinux / firewalld 干扰排查(某主机端口被挡、配置被拒),或需复核/改/回滚强制访问控制与包过滤 | selinux-firewall-20261003 |
docs/SOP.md(本次变更全过程)、docs/RUNBOOK.md(日常复核与故障处置) |
.venv/bin/python main.py {precheck\|verify\|drift\|deploy\|rollback} |
监控 helm values 与现场漂移、升级怕丢配置、要复核 values.yaml 是否为现场基线 |
prometheus-baseline-align-20261003 |
docs/SOP.md |
python3 prometheus-baseline-align-20261003/compare_values.py(逐键比对);helm template -f prometheus_deploy/values.yaml(渲染复核) |
| 控制面指标抓不到(etcd/scheduler/controller-manager/kube-proxy target down)、K8s 控制面盲区(G2)、容量水位告警缺失或失真(#14) | control-plane-metrics-20261003 |
docs/SOP.md(八章变更档案;附录 B 为 G8 容量复核,附录 C 为决策落点) |
python3 control-plane-metrics-20261003/apply.py --check(只读);kubectl apply -f control-plane-metrics-20261003/manifests/capacity-watermark-alerts.yaml |
2. 分层依赖图¶
【物理 / 宿主层】
KVM 宿主 dell-R620(本机,192.168.31.249=br0 / .250=eno2,**同机双网口**;也是 NFS 服务端)
├── k8s .10(k8s-master-01) + .13/.14/.15(node-01~03)
├── slurm .16/.17(控制主备) + .18/.19/.20(计算)
├── lustre .21(MGS/MDS) + .22(OSS)
├── lsf .23/.24(主控主备) + .25/.26/.27(计算)
├── hpc .28(统一提交节点)
├── license .29(FlexLM)
└── registry .31(harbor-01,内网镜像仓库)
链路外旁挂:[公网] 香港 129.226.138.204 (nginx + frps) ←→ OpenWrt 192.168.31.2 (frpc)
[控制面 VIP] 192.168.31.8(keepalived + haproxy 承载,转发 apiserver 6443)
│
│ 装机/装载来源:各集群均无专属部署工程,由 `env-inventory` 提供事实索引
▼
【兼容 / OS 层】 ← 决定服务能否启动,本层曾致 16443 事故
SELinux(2026-10-03 起 13 台由 Enforcing 统一为 permissive;lsf 5 台 + hpc 保持 disabled)、
firewalld(2026-10-03 起全内网 19 台停止并禁用)、Lustre 定制内核(计算节点)、
haproxy 所需的 SELinux 端口标签与布尔(permissive 下不再需要,策略保留备查)
│
▼
【服务层】
非 K8s:Slurm(.16~.20) Lustre(.21/.22) LSF(.23~.27) FlexLM(.29) NFS 服务端(宿主)
K8s v1.36.4 命名空间:
kube-system coredns、etcd/apiserver/controller-manager/scheduler(静态 Pod@master-01)、
kube-proxy、csi-nfs-controller/-node、snapshot-controller、metrics-server、headlamp
calico-system calico-node(DS)、calico-typha、calico-kube-controllers、csi-node-driver
tigera-operator tigera-operator
cnpg-system cnpg-cloudnative-pg
mariadb-system mariadb-operator(+cert-controller/webhook)
monitoring prometheus / alertmanager / grafana / operator / kube-state-metrics / node-exporter
+ elasticsearch / kibana / filebeat / blackbox-exporter(P2,2026-10-01)
server 业务主体:GitLab 全栈 + OpenLDAP + phpLDAPadmin + MariaDB + Redis + MinIO
+ Traefik + Envoy Gateway
ldap 已空置(仅残留 PVC)
│
▼
【入口层】
公网链路:DNS → 香港 nginx(LE 证书) → frps → frpc(OpenWrt) → Traefik(.10:80/443) → 业务 Service
集群内 HTTP(S):Traefik ─→ phpldapadmin / grafana / prometheus / traefik-dashboard
Envoy Gateway ─→ gitlab / registry / kas(GitLab 三域,不经 Traefik)
集群内 TCP: Traefik ─→ openldap:389/636、mariadb:3306
控制面: keepalived + haproxy → VIP:16443 → apiserver 6443
│
▼
【数据 / 存储层】
NFS(宿主 .249):/srv/nfs/k8s(SSD,→SC nfs-csi)、/srv/nfs/k8s-hdd(→SC nfs-csi-hdd)、
/data/nfs-k8s-snap(快照归档)、/data/nfs/slurm-state(属 Slurm,非 K8s 交付)
Lustre:MGS/MDS .21 + OSS .22(计算节点挂载)
local-ssd:GitLab 的 PostgreSQL / Redis / Gitaly(节点本地盘,非 NFS)
消费方:mariadb-deploy、prometheus_deploy、gitlab-deploy-v2、ldap-deploy
结构性的关键点:NFS 后端与 4 台 K8s VM 的磁盘同处宿主 dell-R620,属同源故障域。
3. 子项目卡片¶
活工程¶
| 目录 | 定位 | 关键产物与入口 | 上下游 |
|---|---|---|---|
k8s_136_cluster_deploy |
K8s HA 集群的 Python 部署工程(含控制面扩缩容) | main.py、deployer.py、control_plane_scale.py、config/deploy.yaml、docs/{SOP,RUNBOOK}.md |
上游:无(依赖 KVM 宿主);下游:几乎所有集群内服务工程 |
monitoring-p2-20261001 |
监控 P2:EFK 日志聚合(ES + Kibana + Filebeat)+ 黑盒探测 + 保留期容量规划;含 deb 系主机(dell-R620)与网络设备(OpenWrt)日志接入 | main.py、deployer.py、modules/(含 network_logs.py)、manifests/、config/default.yaml、docs/{SOP,RUNBOOK,SOP-onboard-deb-network}.md |
上游:k8s_136_cluster_deploy、nfs-storage、traefik_deploy(ES TCP 入口)、prometheus_deploy(Probe/Rule 选择器)、ghcr-slow-20261001(Harbor 镜像源);下游:无 |
ingress_tunnel_deploy |
服务暴露编排:内网(Traefik)与公网(frp + nginx)投放 | main.py、config/ingress.yaml、modules/、RUNBOOK.md |
上游:traefik_deploy、mariadb-deploy |
nfs-mount-tuning |
NFS 挂载参数调优(async + nfsvers=4.2 + nconnect=4) | main.py、config/tune.yaml、modules/、docs/SOP.md |
上游/对象:nfs-storage |
dell-r620-monitor-20260929 |
Dell R620(本机 192.168.31.250)硬件温度/风扇监控接入 monitoring 内的 kube-prometheus-stack |
main.py、config/monitor.yaml、artifacts/、manifests/、docs/{SOP,RUNBOOK}.md |
上游:prometheus_deploy(kube-prometheus-stack release);对象:本机 apt node-exporter + IPMI 采集(systemd timer) |
env-monitor-deploy |
环境主机监控扩面:把 14 台非 K8s 主机(Slurm/Lustre/LSF/HPC/FlexLM)接入 monitoring —— 主机层(node-exporter)、领域指标(Slurm/Lustre/LSF/FlexLM,textfile collector)、主机与领域告警、环境总览与角色看板;长期工程,三步蓝图与缺口台账见 docs/MONITORING-ROADMAP.md(P2 黑盒与日志待立项) |
main.py、deployer.py、modules/、utils/、config/env-monitor.yaml、manifests/、artifacts/(含 collectors/)、docs/{SOP,RUNBOOK}.md、docs/INCIDENT-20260930-monitoring-fullstack-rollout.md |
上游:prometheus_deploy(kube-prometheus-stack release)、env-inventory(主机清单口径);对象:14 台 Rocky 9 主机(.16–.29);边界:宿主 R620 的采集仍归 dell-r620-monitor-20260929,本工程只读它的指标画进总览 |
selinux-firewall-20261003 |
强制访问控制与包过滤统一:19 台内网主机 SELinux 统一 permissive(免重启、不回改 disabled)、firewalld 停止并禁用,消除排查期与后续业务放行的干扰;含只读复核、漂移检测与按原值回滚 |
main.py、deployer.py、utils/、config/selinux-firewall.yaml、docs/{SOP,RUNBOOK}.md、backup/(逐台 pre-state.json) |
上游:env-inventory(主机清单口径);对象:19 台(k8s 4 / slurm 5 / lustre 2 / lsf 5 / hpc 1 / FlexLM 1 / harbor-01);边界:不含香港 frps(公网入口)与 OpenWrt 旁路由(NAT 网关),也不含 Dell R620(Ubuntu,无 SELinux) |
control-plane-metrics-20261003 |
K8s 控制面指标接入 + 容量水位告警(G2/G8 收口):在 k8s-master-01 打开 etcd/scheduler/controller-manager/kube-proxy 的 metrics 监听,四个孤儿 ServiceMonitor 收编回 helm release,并补齐宿主 NFS 后端盘与 Prometheus TSDB 的容量水位告警 |
apply.py(幂等变更,含 --check/--dry-run)、manifests/capacity-watermark-alerts.yaml、probe_g8.py(容量取数)、docs/SOP.md、backup/README.md |
上游:prometheus_deploy(kube-prometheus-stack release)、env-inventory;对象:k8s-master-01 控制面静态 Pod + monitoring 命名空间 |
服务档案¶
| 目录 | 定位 | 关键产物与入口 | 上下游 |
|---|---|---|---|
traefik_deploy |
集群唯一 HTTP/HTTPS/TCP 入口代理(Traefik v3) | SOP.md、RUNBOOK.md、values.yaml |
上游:k8s_136_cluster_deploy |
nfs-storage |
宿主 NFS 服务端 + csi-driver-nfs StorageClass(nfs-csi / nfs-csi-hdd) |
SOP.md、RUNBOOK.md、values-nfs-csi.yaml、manifests/、examples/ |
上游:k8s_136_cluster_deploy;下游:mariadb-deploy、prometheus_deploy、gitlab-deploy-v2、ldap-deploy |
mariadb-deploy |
server 内 MariaDB 单实例(mariadb-operator 托管) |
SOP.md、RUNBOOK.md、charts/mariadb/ |
上游:k8s_136_cluster_deploy、nfs-storage;下游:ingress_tunnel_deploy;对外承载 Slurm 记账库 |
prometheus_deploy |
monitoring 内 kube-prometheus-stack 全新部署 |
SOP.md、RUNBOOK.md、values.yaml、manifests/(CRD 在其下 crds/) |
上游:k8s_136_cluster_deploy、nfs-storage;取代已删除的 monitoring_upgrade/ |
gitlab-deploy-v2 |
server 内 GitLab 全栈(chart 交付,自备 PG/Redis/MinIO) |
SOP.md、values-gitlab.yaml、rendered-*.yaml |
上游:k8s_136_cluster_deploy、nfs-storage、Traefik/Envoy Gateway;下游:gitlab-502-webservice-oom |
ldap-deploy |
server 内 OpenLDAP + phpLDAPadmin,含子工程 pla-frame409-fix/(独立活工程式修复) |
SOP.md、values-phpldapadmin.yaml、charts/*.tgz |
上游:k8s_136_cluster_deploy、nfs-storage、Traefik HTTPRoute |
数据源¶
| 目录 | 定位 | 关键产物与入口 | 上下游 |
|---|---|---|---|
env-inventory |
环境事实与凭据索引的唯一来源(21 台主机拓扑 + K8s 服务清单) | inventory.yaml、k8s-services.yaml、scan_credentials.py、build_secrets_env.py、SOP.md |
被全项目依赖;产物落地 ~/.secrets/prod.env |
留档¶
| 目录 | 定位 | 关键产物 | 关联 |
|---|---|---|---|
k8s-restart-16443-selinux-20260929 |
宿主机重启后 16443 入口被 SELinux 拦截的修复 | SOP.md、evidence/、backup/ |
事件链起点,回指 k8s_136_cluster_deploy |
k8s-followup-20260929 |
上一故障收尾:haproxy 后端清理 + 全节点 AVC 巡检报告 | SOP.md、20260929-K8s全节点-SELinux-AVC巡检报告.md |
承接上一条 |
k8s-deploy-yaml-selinux-20260929 |
收敛部署工程基线开关 disable_selinux |
SOP.md、backup/config/ |
改的是 k8s_136_cluster_deploy/config/deploy.yaml |
gitlab-502-webservice-oom |
GitLab webservice OOM 致 502 的故障报告 | INCIDENT-20260920-webservice-oom-502.md、SOP.md、backup/ |
修复对象为 gitlab-deploy-v2/values-gitlab.yaml |
ns_migration |
把 traefik / gitlab / ldap 等统一迁入 server 命名空间 |
SOP.md、RUNBOOK.md、INCIDENT-20260918-01-ns迁移期排障.md、replace_ns.py |
横向触及 traefik_deploy、gitlab-deploy-v2、ldap-deploy |
cleanup-20260929 |
删除旧集群遗留工程 monitoring_upgrade/ |
SOP.md、backup/monitoring_upgrade.bak.*.tar.gz |
替代者为 prometheus_deploy |
cleanup-server-legacy-20260929 |
删除旧集群遗留资料目录 server/(312 文件 / 4.71 MB,经用户决定不留备份) |
SOP.md |
同类先例 cleanup-20260929(该次保留了 tar.gz 备份) |
agent-efficiency-skill-20260930 |
改写全局技能 ops-execution-efficiency:重新定位目标(约束=任务效果不打折/首要=执行效率/次要=token),拆分成本章节、新增收尾自查与实时消耗自查 |
SOP.md、backup/README.md |
改写对象为全局技能 ~/.trae-cn/skills/ops-execution-efficiency/;度量口径来自项目外 token_proxy 工程的 logs/usage.jsonl 与每日审查 |
conn-reuse-refactor-20260930 |
共享库 SSHConnectionPool 由「每次新建」改为真复用(close() 池内归还/池外真关 + close_force() + keepalive 30s) |
SOP.md、backup/README.md |
改动对象为项目外 ~/py_public_modules/paramiko_module.py;6 个挂载工程零改动、回归全过 |
conn-reuse-measure-20260930 |
连接/握手计数测量:改造前基线与改造后验证(零侵入 monkeypatch 脚本) | measure_conn.py、MEASUREMENT.md、raw-deploy.json |
为 conn-reuse-refactor-20260930 提供改前基线(44 次握手)与改后验证(14 次) |
attribution-split-20260930 |
效率收益归因拆分:补测「只合并、不并发」一格(precheck 136.84 → 46.20 → 11.06 s) |
measure_serial.py、MEASUREMENT.md、各组原始日志 |
为技能 ops-execution-efficiency 的实测基线提供拆分结论;顺带查出 env-monitor-deploy 预检并发度配置失效 |
agent-efficiency-rule-fix-20260930 |
修机制而非改文案:技能触发表加「多步执行类任务 → 先加载效率技能」横切项、执行方式表加「涉具体工程先读路由表」「检索列举须限定目录」两条,并把「有地图却越过路由表扫目录」案例与改前基线入档 | SOP.md、backup/README.md |
改动对象为全局 ~/.trae-cn/user_rules/{rule-skill-index,rule-agent-efficiency}.md 与全局技能 ops-execution-efficiency 的 references/;承接 agent-efficiency-skill-20260930 |
log-metrics-crosslink-20261002 |
日志 ↔ 指标互跳第一阶段(静态入口):指标侧加 hostname 裸主机名标签、Grafana 5 大盘加「查看日志」链接、Kibana 加「查看指标」markdown 面板 |
SOP.md、backup/README.md |
改动对象为 env-monitor-deploy(relabel + 大盘)与 monitoring-p2-20261001(Kibana 对象);对齐键结论见 docs/HANDOFF.md §2,来源 docs/LOGGING-GAP.md #1 |
optimization-backlog-20261002 |
token_proxy「优化点总账」挂账项在本工程的落地:#8 补「集群外主机只读取数」入口(docs/BASELINE.md 第 4 节 + 本文件 §1 路由表)、#1 给 env-monitor-deploy 加 --hosts-only |
SOP.md、backup/README.md、backup/docs/、backup/env-monitor-deploy/ |
同批 token_proxy 侧变更见 ~/Documents/services/token_proxy/backlog-20261002/ |
prometheus-baseline-align-20261003 |
把 prometheus_deploy/values.yaml 回写为现场完整基线,消除"文件≠现场"漂移(13 项;SMTP 授权码不入库、运行时注入) |
docs/SOP.md、compare_values.py(逐键比对脚本,可复用于日后 drift 复核)、backup/ |
变更对象为 prometheus_deploy/values.yaml;上游为 log-metrics-crosslink-20261002/SOP.md §11.2、组三 #12 与第四阶段的 overlay 式升级 |
项目外强相关路径¶
| 路径 | 用途 |
|---|---|
~/.trae-cn/skills/rainchen-env/SKILL.md |
全局技能:本项目之外获取环境事实指针与凭据取用约定 |
~/.trae-cn/skills/ops-execution-efficiency/SKILL.md |
全局技能:运维任务的执行效率与 token 消耗规范(含收尾自查清单与实时消耗自查,后者带阶段开关) |
~/Documents/services/token_proxy/ |
项目外工程:Trae LLM 透明计量代理 + 每日成本/行为审查,产出 logs/usage.jsonl(准实时,延迟约 1s)与 reports/daily-review-*.md |
~/.secrets/prod.env |
凭据快照(600,禁止读取内容,只在命令内 source) |
192.168.31.2(OpenWrt) |
frpc 隧道客户端(不在项目目录内) |
129.226.138.204(香港) |
公网入口:nginx + frps(不在项目目录内) |
~/py_public_modules/ |
共享库(base_module / paramiko_module / ssh_executor / logger_module / precheck_module 等),被 6 个工程的 venv 以 .pth 挂载;未纳入 git,改动需先备份并登记台账、改后对全部挂载工程跑回归 |
4. 存疑与待澄清¶
- 无专属工程目录的集群:slurm / lustre / lsf / hpc / license 在本仓库内只有
env-inventory的拓扑条目,无部署或运行文档;其内部结构(调度配置、License 清单)未纳管。 lsf-work-01~03探测到的进程是lim而非sbatchd,inventory.yaml已注明"角色以 hostname 为准、进程构成待核对"。- 公网
fps.rainchen.top(frps 面板)在ingress_tunnel_deploy/RUNBOOK.md中标注"未纳入本工程",未进服务清单。 - GitLab PostgreSQL 版本口径不一致:
ns_migration/RUNBOOK.md写 17.6,k8s-services.yaml未给版本。
5. 工程命名与文档约定¶
目录命名
- 服务类工程:
<组件>-deploy或<组件>_deploy(如gitlab-deploy-v2、prometheus_deploy) - 一次性主题:
<主题>-YYYYMMDD(如k8s-restart-16443-selinux-20260929、cleanup-20260929) - 常态设施:
env-inventory(数据源)、docs(根级档案)
docs 根级档案(位置与角色)
| 文件 | 位置 | 管什么 |
|---|---|---|
HANDOFF.md |
docs/ |
当前状态、待办、红线(覆盖式重写,SessionStart 注入) |
PROJECT-MAP.md |
docs/ |
本文件:工程身份与结构(定点修订) |
MONITORING-ROADMAP.md |
docs/ |
跨工程的监控建设蓝图与缺口台账(八维度口径 / 18 台覆盖矩阵 / G1–G8 / P0–P2 三步) |
SOP.md |
各工程目录 | 该工程的变更档案(累积式,八章) |
RUNBOOK.md |
各工程目录 | 该工程的运行与排障手册 |
INCIDENT-YYYYMMDD-<主题>.md |
各工程目录 | 事故台账与复盘 |
backup 台账
- 每个主题的备份放在该主题目录下的
backup/,命名<原名>.bak.<YYYYmmdd-HHmmss>,并必须有backup/README.md逐条登记(文件、原路径、时间、因何产生、回滚什么、何时可删)。 - 例外:含凭据明文的备份(如
deploy.yaml)不复制进交付物目录,保持远程/原位,仅在台账登记位置。
工程形态
- 复杂变更(多主机、多步编排、需回滚)以 Python 工程实现:
main.py+modules/+config/+.venv/ - 服务交付以 helm values +
manifests/为主 - 全局技能
rainchen-env承载"本项目之外"的环境事实指针
退役纪律
- 工程退役或被取代时:不删目录,改身份标签为
留档,在卡片注明被谁取代、何时。 - 新增子项目时:在路由表加一行 + 在卡片区加一条。
来源:
/home/rain/Documents/k8s_ins/docs/PROJECT-MAP.md| 最后更新:2026-10-03 15:49(由build/sync.py同步,请勿在站点侧修改)