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
This commit is contained in:
2026-03-26 07:01:14 +08:00
parent a67788de56
commit 8c43761962
192 changed files with 4006 additions and 320 deletions

View File

@@ -5,6 +5,10 @@
> **清单位置**:可部署的 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)。
## 状态说明
@@ -17,6 +21,10 @@
- 真机按文档全部走完后,再把状态从“未验证/部分验证”改成“已验证”,并写清 **OS / K3s 版本 / 时间**
- 以后如果对文档步骤做了较大调整,记得把这里对应条目先打回“未验证”或“部分验证”,等新流程再跑一遍。
### 编排约定与文档 id
- 下文每条 `docs/XX-YY-*.md`**id 约定为文件名中的 `XX-YY`**,与 `scripts/verify.sh` 选用的 playbook 文件名一致;矩阵正文仍以人工结论为准,脚本结果写在各条「备注」里。
---
## 1. 主线安装01-*
@@ -26,135 +34,135 @@
- 备注:概念性文档,不涉及命令执行。
- `00-04-部署环境说明.md`
- 状态:✅ 已验证
- 备注说明性文档描述本仓库验证环境ylc61~64、Fedora、K3s v1.34.5+k3s1、/storage 等),与当前实际部署一致
- 备注说明性文档描述本仓库验证环境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 入口 404 可达2026-03-10 左右)
- 备注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 一键完成初始化、server/agent 安装、firewalld 基线、Traefik 标签及验证输出2026-03 左右)。
- 备注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`
- 状态:✅ 已验证
- 备注:在同一环境下成功加入工作节点 62并通过 `kubectl get nodes` 看到双节点 Ready2026-03-10 左右)。
- 备注:ylc62ylc64 工作节点加入同一集群,`kubectl get nodes` 节点 ReadyK3s v1.34.5+k3s1**2026-03-25** 与 `check-cluster` 复验(早期记录曾为双节点)。
- `01-03-armv7-standalone-docker.md`
- 状态:❓ 未验证
- 备注:待在实际 armv7 设备上按文档安装 Docker 并跑一两个容器后更新。
`01-07-openwrt-haproxy.md`
- 状态:✅ 已验证
- 备注ImmortalWrt + HAProxy 18080/18443;经 `scripts/01-07-verify-haproxy.sh`ssh onecloud 第三方 curl验证cfg 语法、HTTP/HTTPS 后端正确;可选 `--deploy-matrix http|tls` 一键部署矩阵
- 备注:待在实际 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`
- 状态:✅ 已验证(说明性文档)
- 备注:整理节点调度与 Ingress/IngressRoute 差异,与 02-0102-04 一并验证
- 状态:⚠️ 部分验证(说明性文档)
- 备注:内容与 02-0102-04 一致。**2026-03-25** ylc61 `verify.sh` noop未重读全文依赖历史核对
- `02-01-nginx-control-ingress.md`
- 状态:✅ 已验证
- 备注:`scripts/02-verify-nginx-matrix-individual.sh` 在 ylc61 上逐个部署onecloud curl 验证 HTTPpath /demo-m1与 HTTPSdomain test01.jackadam.top:184432026-03
- 备注:**本仓库约定验收**`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`
- 状态:✅ 已验证
- 备注同上path /demo-m2IngressRoute 路由链路
- 备注同上playbook `verify/02-02.yml`,清单 `02-control-ingressroute.yaml``X-Backend: M2`。**2026-03-25** ylc61
- `02-03-nginx-worker-ingress.md`
- 状态:✅ 已验证
- 备注:同上,path /demo-m3工作节点 Ingress
- 备注:同上,`verify/02-03.yml``03-worker-ingress.yaml``X-Backend: M3`。**2026-03-25** ylc61
- `02-04-nginx-worker-ingressroute.md`
- 状态:✅ 已验证
- 备注:同上,path /demo-m4IngressRoute 变体
- 备注:同上,`verify/02-04.yml``04-worker-ingressroute.yaml``X-Backend: M4`。**2026-03-25** ylc61
- `02-05-nginx-验证矩阵-一键部署.md`
- 状态:✅ 已验证4 种组合 M1M4 整合)
- 备注:HTTP-only无域名学习有域名时用 03-02 升级版
- 状态:✅ 已验证
- 备注:**本仓库约定验收**`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 常用配置
- `02-00-nginx-系列说明.md`
- 状态:✅ 已验证(说明性文档)
- 备注:整理节点调度与 Ingress/IngressRoute 差异nodeSelector/labels/tolerations 通用排查思路),与 02-0102-04 一并验证。
- `03-01-k3s-traefik-dashboard.md`
- 状态:✅ 已验证
- 备注:在 61/62/63/64 环境各节点启用过 Dashboard 并确认能访问,日志正常。模板:`ansible/files/traefik-dashboard/traefik-dashboard.yaml`
- 状态:⚠️ 部分验证
- 备注:模板见 `ansible/files/03-01-traefik-dashboard/`。**2026-03-25** 仅确认集群内 `traefik` Deployment 可用(`verify-g3`),未按文档重新 apply Dashboard Ingress/IngressRoute 并浏览器验收
- `03-02-k3s-traefik-acme.md`
- 状态:✅ 已验证
- 备注:02-05 的升级版(TLS 矩阵 + ACME2026-03 实机跑通
- 状态:⚠️ 部分验证
- 备注:历史上 TLS + ACME 曾跑通;**2026-03-25** 办公机 `ACME_EMAIL` 未配置,未复验 Let's Encrypt 签发;恢复 ✅ 需按文档 + 有效邮箱与 DNS
- `03-03-k3s-traefik-dashboard-acme.md`
- 状态:✅ 已验证
- 备注:03-01 Dashboard 与 03-02 ACME 合并配置已核对;模板 `ansible/files/traefik-dashboard-acme/traefik-dashboard-acme.yaml` 正确(已含 local-path persistence。实机 apply 需确保集群 DNS 可达 Let's Encrypt可经 `scripts/03-verify-traefik-dashboard-acme.sh` 验证。2026-03
- `03-04-k3s-cloudflare-tunnel-配置接入.md`
- 状态:✅ 已验证
- 备注:本实验室集群完整流程Zero Trust、Public Hostname、cloudflared Pod、`traefik.kube-system.svc.cluster.local:80`、Dashboard 子域 + `/dashboard/` 访问已实机跑通2026-03
- 状态:⚠️ 部分验证
- 备注:合并版 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`
- 状态:✅ 已验证
- 备注:K3s 自带 local-path-provisionerPVC 本地持久化;待实机验证
- 状态:⚠️ 部分验证
- 备注:**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 挂载验证。
- 备注:待在实际 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`
- 状态:❓ 未验证
- 备注:Longhorn 安装与 PVC 流程待在本环境实机验证
- 状态:⚠️ 部分验证
- 备注:**2026-03-25** ylc61 `verify.sh``longhorn-install.yml` 安装 + `longhorn-system` Pod 列表明细 + teardownHelm uninstall/删 ns 带超时)。**未**按文档完整跑 PVC 业务读写与灾备流程,故不设 ✅
- `03-08-k3s-ha-集群配置与切换.md`
- 状态:❓ 未验证
- 备注HA 场景步骤已整理,尚未在当前环境完成双 server + 切换演练。
- 备注HA 场景步骤已整理,尚未在当前环境完成双 server + 切换演练。**2026-03-25** `verify.sh` 仅为 noopdocs + `ansible/files` 目录存在性)。
- `03-09-k3s-gitops-集群配置管理.md`
- 状态:❓ 未验证
- 备注:框架草案,待选定 Argo CD 或 Flux 后细化。
- 备注:框架草案,待选定 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 的完整场景下全链路验证。
- 备注:文档已拆分安装/配置流程,尚未在双控制节点 + 外部 LB 的完整场景下全链路验证。**2026-03-25** ylc61 `verify.sh` noop。
- `01-05-armv7-nfs服务安装.md`
- 状态:❓ 未验证
- 备注NFS 安装命令已经过以往经验验证,本仓库对应 armv7 环境需再跑一遍确认导出与权限。
- 备注NFS 安装命令已经过以往经验验证,本仓库对应 armv7 环境需再跑一遍确认导出与权限。**2026-03-25** ylc61 `verify.sh` noop未在 armv7 实机执行文档步骤)。
---
## 4. 高级 Node.js04-0104-14
- `04-01-k3s-nodejs-高级部署.md`
- 状态:❓ 未验证
- 备注:主入口;具体能力验证依赖 `04-02``04-14` 分项。
- 状态:⚠️ 部分验证
- 备注:主入口。**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` 在实机拉取与启动验证。
- 备注:镜像 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 有地址。
- 备注:`targetPort` 与进程监听一致Endpoints 有地址。**2026-03-25** `verify.sh` noop。
- `04-05-nodejs-资源请求与限制.md`
- 状态:❓ 未验证
- 备注:`kubectl top` 与 OOM/节流行为符合预期。
- 备注:`kubectl top` 与 OOM/节流行为符合预期。**2026-03-25** `verify.sh` noop。
- `04-06-nodejs-探针与健康检查.md`
- 状态:❓ 未验证
- 备注readiness/liveness 与 Endpoint/重启行为验证。
- 备注readiness/liveness 与 Endpoint/重启行为验证。**2026-03-25** `verify.sh` noop。
- `04-07-nodejs-调度与亲和.md`
- 状态:❓ 未验证
- 备注:`nodeSelector`/亲和/容忍与节点标签实机一致。
- 备注:`nodeSelector`/亲和/容忍与节点标签实机一致。**2026-03-25** `verify.sh` noop。
- `04-08-nodejs-安全上下文.md`
- 状态:❓ 未验证
- 备注:非 root/只读根等策略下应用仍可运行。
- 备注:非 root/只读根等策略下应用仍可运行。**2026-03-25** `verify.sh` noop。
- `04-09-nodejs-存储与卷.md`
- 状态:❓ 未验证
- 备注PVC/emptyDir 挂载与读写、配合 `03-05`/`03-07` 存储选型。
- 备注PVC/emptyDir 挂载与读写、配合 `03-05`/`03-07` 存储选型。**2026-03-25** `verify.sh` noop。
- `04-10-nodejs-Ingress与Traefik.md`
- 状态:❓ 未验证
- 备注path/host/入口点注解与 Traefik 路由一致。
- 备注path/host/入口点注解与 Traefik 路由一致。**2026-03-25** `verify.sh` noop。
- `04-11-nodejs-副本与滚动发布.md`
- 状态:❓ 未验证
- 备注:多副本与 `rollout`/`undo` 实机验证。
- 备注:多副本与 `rollout`/`undo` 实机验证。**2026-03-25** `verify.sh` noop。
- `04-12-nodejs-TLS与证书.md`
- 状态:❓ 未验证
- 备注HTTPS 与 `03-02` ACME/Secret 配合验证证书与域名。
- 备注HTTPS 与 `03-02` ACME/Secret 配合验证证书与域名。**2026-03-25** `verify.sh` noop。
- `04-13-nodejs-HPA.md`
- 状态:❓ 未验证
- 备注metrics-server 可用;压测触发扩缩。
- 备注metrics-server 可用;压测触发扩缩。**2026-03-25** `verify.sh` noop。
- `04-14-nodejs-GitOps与CI流水线.md`
- 状态:❓ 未验证
- 备注:流程文档;按 `05-03`/`05-04`/`03-09` 任选一条链路实机跑通后更新。
- 备注:流程文档;按 `05-03`/`05-04`/`03-09` 任选一条链路实机跑通后更新。**2026-03-25** `verify.sh` noop。
---
@@ -162,28 +170,31 @@
- `05-01-k3s-部署homer首页面板.md`
- 状态:❓ 未验证
- 备注:待在集群内按文档部署 Homer并确认首页可访问。
- 备注:待在集群内按文档部署 Homer并确认首页可访问。**2026-03-25** `verify.sh` noop。
- `05-02-onenav首页面板.md`
- 状态:❓ 未验证
- 备注:包含 armv7 独立部署 + K3s 反向代理两个部分,需分别验证。
- 备注:包含 armv7 独立部署 + K3s 反向代理两个部分,需分别验证。**2026-03-25** `verify.sh` noop。
- `05-03-k3s-安装gitlab-含runner.md`
- 状态:❓ 未验证
- 备注:待完成 GitLab + Runner 安装与基础流水线运行。
- 备注:待完成 GitLab + Runner 安装与基础流水线运行。**2026-03-25** `verify.sh` noop。
- `05-04-k3s-配置gitlab-cicd.md`
- 状态:❓ 未验证
- 备注:需在真实仓库上跑通一次 K3s 部署流水线。
- 备注:需在真实仓库上跑通一次 K3s 部署流水线。**2026-03-25** `verify.sh` noop。
- `05-05-prometheus与grafana.md`
- 状态:❓ 未验证
- 备注:待完成 kube-prometheus-stack 安装与 Dashboard 访问。
- 备注:待完成 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 中完成静态转发验证。
- 备注:待在 x86 主机用 Docker 部署 OpenClaw并在 K3s 中完成静态转发验证。**2026-03-25** `verify.sh` noop。
- `05-08-openclaw-k3s-实验部署.md`
- 状态:❓ 未验证
- 备注:待在 K3s 内按实验文档直接部署 OpenClaw Gateway并确认入口可访问。
- 备注:待在 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 镜像示例)。
---
@@ -194,7 +205,10 @@
- 备注:已在 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/`)。
---