- 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
14 KiB
14 KiB
00-02-验证矩阵
这一页只做一件事:集中标记每篇关键文档是否已经在真实环境验证过。
清单位置:可部署的 Kubernetes YAML 以仓库
ansible/files/为唯一真源(与docs/交叉引用);验证时请以该目录下文件为准。写文档的人、做实验的人,都以这里为准,不用在每篇文档里翻记录。
本页当前以“待验证列表”为主:在你的实验环境中按每篇文档从头到尾走通一次,然后把状态从“未验证/部分验证”补成“已验证”。
自动化验证入口:
scripts/verify.sh(在控制节点仓库根执行;按本矩阵顺序逐个doc_id跑ansible/playbooks/verify/<doc_id>.yml,缺 playbook 即失败)。分层说明见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.shnoop(未在 armv7 设备执行文档步骤)。
01-07-openwrt-haproxy.md- 状态:⚠️ 部分验证
- 备注:ImmortalWrt + HAProxy(如 18080/18443)曾实机验证过;当前仓库未提供对应自动化脚本。2026-03-25 ylc61
verify.shnoop;仍以 onecloud 等第三方机 curl 手工为准。
2. 简单部署nginx(02-*)
02-00-nginx-系列说明.md- 状态:⚠️ 部分验证(说明性文档)
- 备注:内容与 02-01~02-04 一致。2026-03-25 ylc61
verify.shnoop;未重读全文,依赖历史核对。
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.yamlapply → rollout → 入口 HTTP 校验X-Backend: M1→ teardown)。2026-03-25 ylc61 四节点集群跑通。历史上另有 onecloud curl;四路径总览见02-05。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一次部署四路径)+ 各路径 HTTPX-Backend+ teardown。2026-03-25 ylc61run-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 仅确认集群内traefikDeployment 可用(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 ylc61verify.shnoop(未实机 apply 合并栈)。
03-04-k3s-cloudflare-tunnel-配置接入.md- 状态:⚠️ 部分验证
- 备注:历史上实验室曾跑通 Tunnel + Traefik。2026-03-25 ylc61
verify.shnoop;CF_TUNNEL_TOKEN等未加载时亦不会自动复验隧道。
03-05-k3s-local-path-pvc.md- 状态:⚠️ 部分验证
- 备注:2026-03-25 ylc61
verify.sh:demo 清单 apply → Deployment rollout → PVCBound→ 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-systemPod 列表明细 + 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-25verify.sh仅为 noop(清单在ansible/files/03-10-traefik-custom-ports/)。
可选:依赖文档
01-04-双控制节点ha.md- 状态:❓ 未验证
- 备注:文档已拆分安装/配置流程,尚未在双控制节点 + 外部 LB 的完整场景下全链路验证。2026-03-25 ylc61
verify.shnoop。
01-05-armv7-nfs服务安装.md- 状态:❓ 未验证
- 备注:NFS 安装命令已经过以往经验验证,本仓库对应 armv7 环境需再跑一遍确认导出与权限。2026-03-25 ylc61
verify.shnoop(未在 armv7 实机执行文档步骤)。
4. 高级 Node.js(04-01~04-14)
04-01-k3s-nodejs-高级部署.md- 状态:⚠️ 部分验证
- 备注:主入口。2026-03-25 ylc61
verify.sh:04-01累积清单 apply →/nodeHTTP(Hello World)→ teardown。04-02~04-14分项仍待按文档逐项实机。
04-02-nodejs-镜像与运行命令.md- 状态:❓ 未验证
- 备注:镜像 tag/
imagePullPolicy/command/args在实机拉取与启动验证。2026-03-25verify.sh仅为 noop(仓库结构)。
04-03-nodejs-环境变量与配置注入.md- 状态:❓ 未验证
- 备注:ConfigMap/Secret 注入与
printenv/curl结果一致。
04-04-nodejs-端口与Service.md- 状态:❓ 未验证
- 备注:
targetPort与进程监听一致;Endpoints 有地址。2026-03-25verify.shnoop。
04-05-nodejs-资源请求与限制.md- 状态:❓ 未验证
- 备注:
kubectl top与 OOM/节流行为符合预期。2026-03-25verify.shnoop。
04-06-nodejs-探针与健康检查.md- 状态:❓ 未验证
- 备注:readiness/liveness 与 Endpoint/重启行为验证。2026-03-25
verify.shnoop。
04-07-nodejs-调度与亲和.md- 状态:❓ 未验证
- 备注:
nodeSelector/亲和/容忍与节点标签实机一致。2026-03-25verify.shnoop。
04-08-nodejs-安全上下文.md- 状态:❓ 未验证
- 备注:非 root/只读根等策略下应用仍可运行。2026-03-25
verify.shnoop。
04-09-nodejs-存储与卷.md- 状态:❓ 未验证
- 备注:PVC/emptyDir 挂载与读写、配合
03-05/03-07存储选型。2026-03-25verify.shnoop。
04-10-nodejs-Ingress与Traefik.md- 状态:❓ 未验证
- 备注:path/host/入口点注解与 Traefik 路由一致。2026-03-25
verify.shnoop。
04-11-nodejs-副本与滚动发布.md- 状态:❓ 未验证
- 备注:多副本与
rollout/undo实机验证。2026-03-25verify.shnoop。
04-12-nodejs-TLS与证书.md- 状态:❓ 未验证
- 备注:HTTPS 与
03-02ACME/Secret 配合验证证书与域名。2026-03-25verify.shnoop。
04-13-nodejs-HPA.md- 状态:❓ 未验证
- 备注:metrics-server 可用;压测触发扩缩。2026-03-25
verify.shnoop。
04-14-nodejs-GitOps与CI流水线.md- 状态:❓ 未验证
- 备注:流程文档;按
05-03/05-04/03-09任选一条链路实机跑通后更新。2026-03-25verify.shnoop。
5. 常用应用与监控(05-*)
05-01-k3s-部署homer首页面板.md- 状态:❓ 未验证
- 备注:待在集群内按文档部署 Homer,并确认首页可访问。2026-03-25
verify.shnoop。
05-02-onenav首页面板.md- 状态:❓ 未验证
- 备注:包含 armv7 独立部署 + K3s 反向代理两个部分,需分别验证。2026-03-25
verify.shnoop。
05-03-k3s-安装gitlab-含runner.md- 状态:❓ 未验证
- 备注:待完成 GitLab + Runner 安装与基础流水线运行。2026-03-25
verify.shnoop。
05-04-k3s-配置gitlab-cicd.md- 状态:❓ 未验证
- 备注:需在真实仓库上跑通一次 K3s 部署流水线。2026-03-25
verify.shnoop。
05-05-prometheus与grafana.md- 状态:❓ 未验证
- 备注:待完成 kube-prometheus-stack 安装与 Dashboard 访问。2026-03-25
verify.shnoop。
05-06-openlist挂载网盘与自动备份.md- 状态:❓ 未验证
- 备注:待在实际网盘与备份目录上验证周期备份任务。2026-03-25
verify.shnoop。
05-07-openclaw应用部署.md- 状态:❓ 未验证
- 备注:待在 x86 主机用 Docker 部署 OpenClaw,并在 K3s 中完成静态转发验证。2026-03-25
verify.shnoop。
05-08-openclaw-k3s-实验部署.md- 状态:❓ 未验证
- 备注:待在 K3s 内按实验文档直接部署 OpenClaw Gateway,并确认入口可访问。2026-03-25
verify.shnoop。
05-09-openclaw-web-小游戏网页平台.md- 状态:❓ 未验证
- 备注:前端示例清单在
ansible/files/05-09-openclaw-web-小游戏网页平台/;2026-03-25verify.shnoop(未 apply 镜像示例)。
6. 排障与运维(06-*)
06-01-k3s-networkpolicy-故障排查.md- 状态:✅ 已验证
- 备注:已在 Fedora 43 + K3s 环境排查并修复过“62:80 不通 / firewalld 拦截 flannel.1 <-> cni0”的问题,脚本与命令均来自实战过程。
06-02-运维小结.md- 状态:❓ 未验证
- 备注:运维建议为经验总结,后续可在日常巡检/备份流程固化后逐条打勾。2026-03-25
verify.shnoop。
06-03-k3s-自动备份与恢复-openlist-webdav.md- 状态:❓ 未验证
- 备注:按文档配置 WebDAV 备份与恢复 Job/CronJob,并验证一次完整链路。2026-03-25
verify.shnoop(清单真源见ansible/files/06-03-openlist-webdav/与桥接目录06-03-k3s-自动备份与恢复-openlist-webdav/)。
8. 如何更新本矩阵
- 修改某篇文档的关键步骤(尤其是“操作步骤 / 验证命令 / 预期”)时:
- 记得同步更新这里对应条目的“状态”和“备注”。
- 大改后建议先把状态退回“未验证”或“部分验证”,等新流程在实机跑完再改回“已验证”。
- 执行中文文档一键安全对齐或大规模内容调整时,建议把 验证矩阵 一起纳入检查范围,避免出现“文档已经改了,但矩阵还显示已验证”的错觉。