- 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
223 lines
14 KiB
Markdown
223 lines
14 KiB
Markdown
# 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,单控制节点 61,Traefik 与节点入口 80/443 可达(404 为无路由时的正常表现);**2026-03-25** 与 `verify-g1-baseline` 复验一致。
|
||
- `01-06-节点初始化-ansible-实践.md`
|
||
- 状态:✅ 已验证
|
||
- 备注:Fedora + K3s,4 节点(ylc61~64),Ansible `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`
|
||
- 状态:✅ 已验证
|
||
- 备注:ylc62~ylc64 工作节点加入同一集群,`kubectl get nodes` 四节点 Ready;K3s 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. 简单部署nginx(02-*)
|
||
|
||
- `02-00-nginx-系列说明.md`
|
||
- 状态:⚠️ 部分验证(说明性文档)
|
||
- 备注:内容与 02-01~02-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 列表明细 + teardown(Helm uninstall/删 ns 带超时)。**未**按文档完整跑 PVC 业务读写与灾备流程,故不设 ✅。
|
||
- `03-08-k3s-ha-集群配置与切换.md`
|
||
- 状态:❓ 未验证
|
||
- 备注:HA 场景步骤已整理,尚未在当前环境完成双 server + 切换演练。**2026-03-25** `verify.sh` 仅为 noop(docs + `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.js(04-01~04-14)
|
||
|
||
- `04-01-k3s-nodejs-高级部署.md`
|
||
- 状态:⚠️ 部分验证
|
||
- 备注:主入口。**2026-03-25** ylc61 `verify.sh`:`04-01` 累积清单 apply → `/node` HTTP(Hello 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. 如何更新本矩阵
|
||
|
||
- 修改某篇文档的关键步骤(尤其是“操作步骤 / 验证命令 / 预期”)时:
|
||
- 记得同步更新这里对应条目的“状态”和“备注”。
|
||
- 大改后建议先把状态退回“未验证”或“部分验证”,等新流程在实机跑完再改回“已验证”。
|
||
- 执行中文文档一键安全对齐或大规模内容调整时,建议把 **验证矩阵** 一起纳入检查范围,避免出现“文档已经改了,但矩阵还显示已验证”的错觉。
|
||
|
||
|