Files
Deploy-Laboratory/docs/00-02-验证矩阵.md
jack 8c43761962 feat: 按 doc_id 重组 ansible/files 与验证框架
- ansible/files 改为与文档 XX-YY 对齐的目录结构,更新相关 playbook 路径
- 新增 scripts/verify.sh 与 ansible/playbooks/verify/*.yml,移除单体 verify-matrix.yml
- 补充 docs/00-02 矩阵状态、00-05 验证框架与流程、00-04 环境与 ylc65 工作机说明
- 增加 k3s 存储准备、Longhorn、local-path 等 playbook 与辅助脚本

Made-with: Cursor
2026-03-26 07:01:14 +08:00

14 KiB
Raw Blame History

00-02-验证矩阵

这一页只做一件事:集中标记每篇关键文档是否已经在真实环境验证过

清单位置:可部署的 Kubernetes YAML 以仓库 ansible/files/ 为唯一真源(与 docs/ 交叉引用);验证时请以该目录下文件为准。

写文档的人、做实验的人,都以这里为准,不用在每篇文档里翻记录。

本页当前以“待验证列表”为主:在你的实验环境中按每篇文档从头到尾走通一次,然后把状态从“未验证/部分验证”补成“已验证”。

自动化验证入口:scripts/verify.sh(在控制节点仓库根执行;按本矩阵顺序逐个 doc_idansible/playbooks/verify/<doc_id>.yml,缺 playbook 即失败)。分层说明见 docs/00-05-测试与验证框架.md

状态说明

  • 未验证:内容结构与命令已经写好,但还没有在目标环境完整跑通一次。
  • ⚠️ 部分验证:只验证了其中一部分场景(例如只在单节点环境跑过,或只验证了 HTTP 未验证 HTTPS备注里会写明覆盖范围。
  • 已验证:按该文档从头到尾在指定环境走完一遍,达到预期结果,备注里会带上环境与日期。

建议习惯:

  • 真机按文档全部走完后,再把状态从“未验证/部分验证”改成“已验证”,并写清 OS / K3s 版本 / 时间
  • 以后如果对文档步骤做了较大调整,记得把这里对应条目先打回“未验证”或“部分验证”,等新流程再跑一遍。

编排约定与文档 id

  • 下文每条 docs/XX-YY-*.mdid 约定为文件名中的 XX-YY,与 scripts/verify.sh 选用的 playbook 文件名一致;矩阵正文仍以人工结论为准,脚本结果写在各条「备注」里。

1. 主线安装01-*

  • 00-01-k3s-基础概念.md
    • 状态: 已验证
    • 备注:概念性文档,不涉及命令执行。
  • 00-04-部署环境说明.md
    • 状态: 已验证
    • 备注说明性文档描述本仓库验证环境ylc61~64、Fedora、K3s v1.34.5+k3s1、每节点 10G 系统盘 + 32G 数据盘挂载 /storage 等),与当前实际部署对照调整;2026-03-25 记录的集群仍为四节点 Ready。
  • 01-01-k3s-控制节点含traefik.md
    • 状态: 已验证
    • 备注Fedora 43 Server + K3s v1.34.5+k3s1单控制节点 61Traefik 与节点入口 80/443 可达404 为无路由时的正常表现);2026-03-25verify-g1-baseline 复验一致。
  • 01-06-节点初始化-ansible-实践.md
    • 状态: 已验证
    • 备注Fedora + K3s4 节点ylc61~64Ansible k3s-init-and-install.yml 完成 server/agent、firewalld、CNI trusted、CoreDNS、Traefik 及 playbook 内置验证;2026-03-25 于 ylc61 复跑 phase2-k3sPLAY RECAP 全节点 failed=0)。
  • 01-02-k3s-工作节点.md
    • 状态: 已验证
    • 备注ylc62ylc64 工作节点加入同一集群,kubectl get nodes 四节点 ReadyK3s v1.34.5+k3s12026-03-25check-cluster 复验(早期记录曾为双节点)。
  • 01-03-armv7-standalone-docker.md
    • 状态: 未验证
    • 备注:待在实际 armv7 设备上按文档安装 Docker 并跑一两个容器后更新。2026-03-25 ylc61 verify.sh noop未在 armv7 设备执行文档步骤)。
  • 01-07-openwrt-haproxy.md
    • 状态:⚠️ 部分验证
    • 备注ImmortalWrt + HAProxy如 18080/18443曾实机验证过当前仓库未提供对应自动化脚本。2026-03-25 ylc61 verify.sh noop仍以 onecloud 等第三方机 curl 手工为准。

2. 简单部署nginx02-*

  • 02-00-nginx-系列说明.md
    • 状态:⚠️ 部分验证(说明性文档)
    • 备注:内容与 02-0102-04 一致。2026-03-25 ylc61 verify.sh noop未重读全文依赖历史核对。
  • 02-01-nginx-control-ingress.md
    • 状态: 已验证
    • 备注:本仓库约定验收scripts/verify.shansible/playbooks/verify/02-01.ymlM1ansible/files/02-05-nginx-matrix/01-control-ingress.yaml apply → rollout → 入口 HTTP 校验 X-Backend: M1 → teardown2026-03-25 ylc61 四节点集群跑通。历史上另有 onecloud curl四路径总览见 02-05。HTTPS 不在本篇,见 03-02
  • 02-02-nginx-control-ingressroute.md
    • 状态: 已验证
    • 备注同上playbook verify/02-02.yml,清单 02-control-ingressroute.yamlX-Backend: M22026-03-25 ylc61。
  • 02-03-nginx-worker-ingress.md
    • 状态: 已验证
    • 备注:同上,verify/02-03.yml03-worker-ingress.yamlX-Backend: M32026-03-25 ylc61。
  • 02-04-nginx-worker-ingressroute.md
    • 状态: 已验证
    • 备注:同上,verify/02-04.yml04-worker-ingressroute.yamlX-Backend: M42026-03-25 ylc61。
  • 02-05-nginx-验证矩阵-一键部署.md
    • 状态: 已验证
    • 备注:本仓库约定验收verify.sh 串跑 02-0102-04(或等价 ansible/playbooks/nginx-matrix-deploy.yml 一次部署四路径)+ 各路径 HTTP X-Backend + teardown。2026-03-25 ylc61 run-all 通过。TLS/域名与 03-02 衔接另用 nginx-matrix-tls-deploy.yml / verify/03-02.yml 等验。

3. k3s 常用配置

  • 03-01-k3s-traefik-dashboard.md
    • 状态:⚠️ 部分验证
    • 备注:模板见 ansible/files/03-01-traefik-dashboard/2026-03-25 仅确认集群内 traefik Deployment 可用(verify-g3),未按文档重新 apply Dashboard Ingress/IngressRoute 并浏览器验收。
  • 03-02-k3s-traefik-acme.md
    • 状态:⚠️ 部分验证
    • 备注:历史上 TLS + ACME 曾跑通;2026-03-25 办公机 ACME_EMAIL 未配置,未复验 Let's Encrypt 签发;恢复 需按文档 + 有效邮箱与 DNS。
  • 03-03-k3s-traefik-dashboard-acme.md
    • 状态:⚠️ 部分验证
    • 备注:合并版 YAML 仍在 ansible/files/03-03-traefik-dashboard-acme/2026-03-25 ylc61 verify.sh noop未实机 apply 合并栈)。
  • 03-04-k3s-cloudflare-tunnel-配置接入.md
    • 状态:⚠️ 部分验证
    • 备注:历史上实验室曾跑通 Tunnel + Traefik。2026-03-25 ylc61 verify.sh noopCF_TUNNEL_TOKEN 等未加载时亦不会自动复验隧道。
  • 03-05-k3s-local-path-pvc.md
    • 状态:⚠️ 部分验证
    • 备注:2026-03-25 ylc61 verify.shdemo 清单 apply → Deployment rollout → PVC Bound → teardown。此前 verify-g1-baseline 亦确认 local-path 就绪。
  • 03-06-k3s-使用nfs存储.md
    • 状态: 未验证
    • 备注:待在实际 NFS 服务器 + K3s 集群上完成 PV/PVC + Pod 挂载验证。2026-03-25 ylc61 verify.sh:因 NFS_SERVER_IP / NFS_EXPORT_PATH 未配齐 gate 跳过teardown 已对齐无文件不删。playbook 亦支持仓库 03-06-nfs-demo 清单路径。
  • 03-07-k3s-longhorn-持久化存储.md
    • 状态:⚠️ 部分验证
    • 备注:2026-03-25 ylc61 verify.shlonghorn-install.yml 安装 + longhorn-system Pod 列表明细 + teardownHelm uninstall/删 ns 带超时)。按文档完整跑 PVC 业务读写与灾备流程,故不设
  • 03-08-k3s-ha-集群配置与切换.md
    • 状态: 未验证
    • 备注HA 场景步骤已整理,尚未在当前环境完成双 server + 切换演练。2026-03-25 verify.sh 仅为 noopdocs + ansible/files 目录存在性)。
  • 03-09-k3s-gitops-集群配置管理.md
    • 状态: 未验证
    • 备注:框架草案,待选定 Argo CD 或 Flux 后细化。2026-03-25 verify.sh 仅为 noop。
  • 03-10-k3s-traefik-custom-ports.md
    • 状态: 未验证
    • 备注:需在实际环境应用 HelmChartConfig 并确认 Traefik Service/入口端口。2026-03-25 verify.sh 仅为 noop清单在 ansible/files/03-10-traefik-custom-ports/)。

可选:依赖文档

  • 01-04-双控制节点ha.md
    • 状态: 未验证
    • 备注:文档已拆分安装/配置流程,尚未在双控制节点 + 外部 LB 的完整场景下全链路验证。2026-03-25 ylc61 verify.sh noop。
  • 01-05-armv7-nfs服务安装.md
    • 状态: 未验证
    • 备注NFS 安装命令已经过以往经验验证,本仓库对应 armv7 环境需再跑一遍确认导出与权限。2026-03-25 ylc61 verify.sh noop未在 armv7 实机执行文档步骤)。

4. 高级 Node.js04-0104-14

  • 04-01-k3s-nodejs-高级部署.md
    • 状态:⚠️ 部分验证
    • 备注:主入口。2026-03-25 ylc61 verify.sh04-01 累积清单 apply → /node HTTPHello World→ teardown。04-0204-14 分项仍待按文档逐项实机。
  • 04-02-nodejs-镜像与运行命令.md
    • 状态: 未验证
    • 备注:镜像 tag/imagePullPolicy/command/args 在实机拉取与启动验证。2026-03-25 verify.sh 仅为 noop仓库结构
  • 04-03-nodejs-环境变量与配置注入.md
    • 状态: 未验证
    • 备注ConfigMap/Secret 注入与 printenv/curl 结果一致。
  • 04-04-nodejs-端口与Service.md
    • 状态: 未验证
    • 备注:targetPort 与进程监听一致Endpoints 有地址。2026-03-25 verify.sh noop。
  • 04-05-nodejs-资源请求与限制.md
    • 状态: 未验证
    • 备注:kubectl top 与 OOM/节流行为符合预期。2026-03-25 verify.sh noop。
  • 04-06-nodejs-探针与健康检查.md
    • 状态: 未验证
    • 备注readiness/liveness 与 Endpoint/重启行为验证。2026-03-25 verify.sh noop。
  • 04-07-nodejs-调度与亲和.md
    • 状态: 未验证
    • 备注:nodeSelector/亲和/容忍与节点标签实机一致。2026-03-25 verify.sh noop。
  • 04-08-nodejs-安全上下文.md
    • 状态: 未验证
    • 备注:非 root/只读根等策略下应用仍可运行。2026-03-25 verify.sh noop。
  • 04-09-nodejs-存储与卷.md
    • 状态: 未验证
    • 备注PVC/emptyDir 挂载与读写、配合 03-05/03-07 存储选型。2026-03-25 verify.sh noop。
  • 04-10-nodejs-Ingress与Traefik.md
    • 状态: 未验证
    • 备注path/host/入口点注解与 Traefik 路由一致。2026-03-25 verify.sh noop。
  • 04-11-nodejs-副本与滚动发布.md
    • 状态: 未验证
    • 备注:多副本与 rollout/undo 实机验证。2026-03-25 verify.sh noop。
  • 04-12-nodejs-TLS与证书.md
    • 状态: 未验证
    • 备注HTTPS 与 03-02 ACME/Secret 配合验证证书与域名。2026-03-25 verify.sh noop。
  • 04-13-nodejs-HPA.md
    • 状态: 未验证
    • 备注metrics-server 可用;压测触发扩缩。2026-03-25 verify.sh noop。
  • 04-14-nodejs-GitOps与CI流水线.md
    • 状态: 未验证
    • 备注:流程文档;按 05-03/05-04/03-09 任选一条链路实机跑通后更新。2026-03-25 verify.sh noop。

5. 常用应用与监控05-*

  • 05-01-k3s-部署homer首页面板.md
    • 状态: 未验证
    • 备注:待在集群内按文档部署 Homer并确认首页可访问。2026-03-25 verify.sh noop。
  • 05-02-onenav首页面板.md
    • 状态: 未验证
    • 备注:包含 armv7 独立部署 + K3s 反向代理两个部分,需分别验证。2026-03-25 verify.sh noop。
  • 05-03-k3s-安装gitlab-含runner.md
    • 状态: 未验证
    • 备注:待完成 GitLab + Runner 安装与基础流水线运行。2026-03-25 verify.sh noop。
  • 05-04-k3s-配置gitlab-cicd.md
    • 状态: 未验证
    • 备注:需在真实仓库上跑通一次 K3s 部署流水线。2026-03-25 verify.sh noop。
  • 05-05-prometheus与grafana.md
    • 状态: 未验证
    • 备注:待完成 kube-prometheus-stack 安装与 Dashboard 访问。2026-03-25 verify.sh noop。
  • 05-06-openlist挂载网盘与自动备份.md
    • 状态: 未验证
    • 备注:待在实际网盘与备份目录上验证周期备份任务。2026-03-25 verify.sh noop。
  • 05-07-openclaw应用部署.md
    • 状态: 未验证
    • 备注:待在 x86 主机用 Docker 部署 OpenClaw并在 K3s 中完成静态转发验证。2026-03-25 verify.sh noop。
  • 05-08-openclaw-k3s-实验部署.md
    • 状态: 未验证
    • 备注:待在 K3s 内按实验文档直接部署 OpenClaw Gateway并确认入口可访问。2026-03-25 verify.sh noop。
  • 05-09-openclaw-web-小游戏网页平台.md
    • 状态: 未验证
    • 备注:前端示例清单在 ansible/files/05-09-openclaw-web-小游戏网页平台/2026-03-25 verify.sh noop未 apply 镜像示例)。

6. 排障与运维06-*

  • 06-01-k3s-networkpolicy-故障排查.md
    • 状态: 已验证
    • 备注:已在 Fedora 43 + K3s 环境排查并修复过“62:80 不通 / firewalld 拦截 flannel.1 <-> cni0”的问题脚本与命令均来自实战过程。
  • 06-02-运维小结.md
    • 状态: 未验证
    • 备注:运维建议为经验总结,后续可在日常巡检/备份流程固化后逐条打勾。2026-03-25 verify.sh noop。
  • 06-03-k3s-自动备份与恢复-openlist-webdav.md
    • 状态: 未验证
    • 备注:按文档配置 WebDAV 备份与恢复 Job/CronJob并验证一次完整链路。2026-03-25 verify.sh noop清单真源见 ansible/files/06-03-openlist-webdav/ 与桥接目录 06-03-k3s-自动备份与恢复-openlist-webdav/)。

8. 如何更新本矩阵

  • 修改某篇文档的关键步骤(尤其是“操作步骤 / 验证命令 / 预期”)时:
    • 记得同步更新这里对应条目的“状态”和“备注”。
    • 大改后建议先把状态退回“未验证”或“部分验证”,等新流程在实机跑完再改回“已验证”。
  • 执行中文文档一键安全对齐或大规模内容调整时,建议把 验证矩阵 一起纳入检查范围,避免出现“文档已经改了,但矩阵还显示已验证”的错觉。