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

223 lines
14 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 00-02-验证矩阵
> 这一页只做一件事:**集中标记每篇关键文档是否已经在真实环境验证过**。
>
> **清单位置**:可部署的 Kubernetes YAML 以仓库 [`ansible/files/`](../ansible/files/) 为唯一真源(与 `docs/` 交叉引用);验证时请以该目录下文件为准。
>
> 写文档的人、做实验的人,都以这里为准,不用在每篇文档里翻记录。
>
> 本页当前以“待验证列表”为主:在你的实验环境中按每篇文档从头到尾走通一次,然后把状态从“未验证/部分验证”补成“已验证”。
>
> 自动化验证入口:`scripts/verify.sh`(在控制节点仓库根执行;按本矩阵顺序逐个 `doc_id` 跑 `ansible/playbooks/verify/<doc_id>.yml`,缺 playbook 即失败)。分层说明见 [`docs/00-05-测试与验证框架.md`](../docs/00-05-测试与验证框架.md)。
## 状态说明
- **❓ 未验证**:内容结构与命令已经写好,但**还没有**在目标环境完整跑通一次。
- **⚠️ 部分验证**:只验证了其中一部分场景(例如只在单节点环境跑过,或只验证了 HTTP 未验证 HTTPS备注里会写明覆盖范围。
- **✅ 已验证**:按该文档从头到尾在指定环境走完一遍,达到预期结果,备注里会带上环境与日期。
建议习惯:
- 真机按文档全部走完后,再把状态从“未验证/部分验证”改成“已验证”,并写清 **OS / K3s 版本 / 时间**
- 以后如果对文档步骤做了较大调整,记得把这里对应条目先打回“未验证”或“部分验证”,等新流程再跑一遍。
### 编排约定与文档 id
- 下文每条 `docs/XX-YY-*.md`**id 约定为文件名中的 `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-25** 与 `verify-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-k3s``PLAY RECAP` 全节点 `failed=0`)。
- `01-02-k3s-工作节点.md`
- 状态:✅ 已验证
- 备注ylc62ylc64 工作节点加入同一集群,`kubectl get nodes` 四节点 ReadyK3s v1.34.5+k3s1**2026-03-25** 与 `check-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.sh``ansible/playbooks/verify/02-01.yml`M1`ansible/files/02-05-nginx-matrix/01-control-ingress.yaml` apply → rollout → 入口 HTTP 校验 `X-Backend: M1` → teardown。**2026-03-25** ylc61 四节点集群跑通。历史上另有 onecloud curl四路径总览见 [`02-05`](02-05-nginx-验证矩阵-一键部署.md)。HTTPS 不在本篇,见 `03-02`
- `02-02-nginx-control-ingressroute.md`
- 状态:✅ 已验证
- 备注同上playbook `verify/02-02.yml`,清单 `02-control-ingressroute.yaml``X-Backend: M2`。**2026-03-25** ylc61。
- `02-03-nginx-worker-ingress.md`
- 状态:✅ 已验证
- 备注:同上,`verify/02-03.yml``03-worker-ingress.yaml``X-Backend: M3`。**2026-03-25** ylc61。
- `02-04-nginx-worker-ingressroute.md`
- 状态:✅ 已验证
- 备注:同上,`verify/02-04.yml``04-worker-ingressroute.yaml``X-Backend: M4`。**2026-03-25** ylc61。
- `02-05-nginx-验证矩阵-一键部署.md`
- 状态:✅ 已验证
- 备注:**本仓库约定验收**`verify.sh` 串跑 `02-01``02-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` noop`CF_TUNNEL_TOKEN` 等未加载时亦不会自动复验隧道。
- `03-05-k3s-local-path-pvc.md`
- 状态:⚠️ 部分验证
- 备注:**2026-03-25** ylc61 `verify.sh`demo 清单 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.sh``longhorn-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.sh``04-01` 累积清单 apply → `/node` HTTPHello World→ teardown。`04-02``04-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. 如何更新本矩阵
- 修改某篇文档的关键步骤(尤其是“操作步骤 / 验证命令 / 预期”)时:
- 记得同步更新这里对应条目的“状态”和“备注”。
- 大改后建议先把状态退回“未验证”或“部分验证”,等新流程在实机跑完再改回“已验证”。
- 执行中文文档一键安全对齐或大规模内容调整时,建议把 **验证矩阵** 一起纳入检查范围,避免出现“文档已经改了,但矩阵还显示已验证”的错觉。