Files
Deploy-Laboratory/docs/00-02-验证矩阵.md
jack 8a54cac61f feat: CoreDNS IPv4 上游、03-03 Tomcat 修复、HAProxy 与验证脚本
- Ansible: 部署时自动配置 CoreDNS forward 为 IPv4,避免 ACME 解析失败
- 01-01/01-07: 文档增加 CoreDNS 设置说明
- 03-03: Tomcat webapps.dist 复制、HTTP/HTTPS 双 Ingress、显式 Dashboard IngressRoute
- traefik-dashboard-acme: tomcat-acme.yaml、404 排查说明
- HAProxy: 健康检查与 PROXY 配置拆分,18080/18443 部署与验证脚本

Made-with: Cursor
2026-03-22 19:02:46 +08:00

212 lines
10 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/` 交叉引用);验证时请以该目录下文件为准。
>
> 写文档的人、做实验的人,都以这里为准,不用在每篇文档里翻记录。
## 状态说明
- **❓ 未验证**:内容结构与命令已经写好,但**还没有**在目标环境完整跑通一次。
- **⚠️ 部分验证**:只验证了其中一部分场景(例如只在单节点环境跑过,或只验证了 HTTP 未验证 HTTPS备注里会写明覆盖范围。
- **✅ 已验证**:按该文档从头到尾在指定环境走完一遍,达到预期结果,备注里会带上环境与日期。
建议习惯:
- 真机按文档全部走完后,再把状态从“未验证/部分验证”改成“已验证”,并写清 **OS / K3s 版本 / 时间**
- 以后如果对文档步骤做了较大调整,记得把这里对应条目先打回“未验证”或“部分验证”,等新流程再跑一遍。
---
## 1. 主线安装01-*
- `00-01-k3s-基础概念.md`
- 状态:✅ 已验证
- 备注:概念性文档,不涉及命令执行。
- `00-04-部署环境说明.md`
- 状态:✅ 已验证
- 备注说明性文档描述本仓库验证环境ylc61~64、Fedora、K3s v1.34.5+k3s1、/storage 等),与当前实际部署一致。
- `01-01-k3s-控制节点含traefik.md`
- 状态:✅ 已验证
- 备注Fedora 43 Server + K3s v1.34.5+k3s1单控制节点 61已按文档装机并确认 Traefik 入口 404 可达2026-03-10 左右)。
- `01-07-节点初始化-ansible-实践.md`
- 状态:✅ 已验证
- 备注Fedora + K3s4 节点ylc61~64Ansible 一键完成初始化、server/agent 安装、firewalld 基线、Traefik 标签及验证输出2026-03 左右)。
- `01-02-k3s-工作节点.md`
- 状态:✅ 已验证
- 备注:在同一环境下成功加入工作节点 62并通过 `kubectl get nodes` 看到双节点 Ready2026-03-10 左右)。
- `01-03-armv7-standalone-docker.md`
- 状态:❓ 未验证
- 备注:待在实际 armv7 设备上按文档安装 Docker 并跑一两个容器后更新。
- `01-04-cloudflare-tunnel.md`
- 状态:⚠️ 部分验证
- 备注Cloudflare 控制台端Tunnel/域名)已实践使用,需在新环境对完整安装准备流程再跑一遍。
- `01-08-openwrt-haproxy.md`
- 状态:✅ 已验证
- 备注ImmortalWrt + HAProxy 18080/18443`scripts/01-08-verify-haproxy.sh`ssh onecloud 第三方 curl验证cfg 语法、HTTP/HTTPS 后端正确;可选 `--deploy-matrix http|tls` 一键部署矩阵。
---
## 2. 简单部署nginx02-*
- `02-00-nginx-系列说明.md`
- 状态:✅ 已验证(说明性文档)
- 备注:整理节点调度与 Ingress/IngressRoute 差异,与 02-0102-04 一并验证。
- `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。
- `02-02-nginx-control-ingressroute.md`
- 状态:✅ 已验证
- 备注同上path /demo-m2IngressRoute 路由链路。
- `02-03-nginx-worker-ingress.md`
- 状态:✅ 已验证
- 备注同上path /demo-m3工作节点 Ingress。
- `02-04-nginx-worker-ingressroute.md`
- 状态:✅ 已验证
- 备注同上path /demo-m4IngressRoute 变体。
- `02-05-nginx-验证矩阵-一键部署.md`
- 状态:✅ 已验证4 种组合 M1M4 整合)
- 备注HTTP-only无域名学习有域名时用 03-02 升级版。
---
## 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`
- `03-02-k3s-traefik-acme.md`
- 状态:✅ 已验证
- 备注02-05 的升级版TLS 矩阵 + ACME2026-03 实机跑通。
- `03-03-k3s-traefik-dashboard-acme.md`
- 状态:✅ 已验证
- 备注03-01 Dashboard 与 03-02 ACME 合并配置已核对;模板 `ansible/files/traefik-dashboard-acme/traefik-dashboard-acme.yaml` 正确。实机 apply 需确保 acme.json 持久化或集群 DNS 可达 Let's Encrypt可经 `scripts/03-verify-traefik-dashboard-acme.sh` 验证。2026-03。
- `03-04-k3s-cloudflare-tunnel-配置接入.md`
- 状态:⚠️ 部分验证
- 备注cloudflared 侧部署与 Tunnel 接入已在其他项目跑通过,本实验室集群的完整接入流程待实机验证。
- `03-05-k3s-local-path-pvc.md`
- 状态:❓ 未验证
- 备注K3s 自带 local-path-provisionerPVC 本地持久化;待实机验证。
- `03-06-k3s-使用nfs存储.md`
- 状态:❓ 未验证
- 备注:待在实际 NFS 服务器 + K3s 集群上完成 PV/PVC + Pod 挂载验证。
- `03-07-k3s-longhorn-持久化存储.md`
- 状态:❓ 未验证
- 备注Longhorn 安装与 PVC 流程待在本环境实机验证。
- `03-08-k3s-ha-集群配置与切换.md`
- 状态:❓ 未验证
- 备注HA 场景步骤已整理,尚未在当前环境完成双 server + 切换演练。
- `03-09-k3s-gitops-集群配置管理.md`
- 状态:❓ 未验证
- 备注:框架草案,待选定 Argo CD 或 Flux 后细化。
### 可选:依赖文档
- `01-05-双控制节点ha.md`
- 状态:❓ 未验证
- 备注:文档已拆分安装/配置流程,尚未在双控制节点 + 外部 LB 的完整场景下全链路验证。
- `01-06-armv7-nfs服务安装.md`
- 状态:❓ 未验证
- 备注NFS 安装命令已经过以往经验验证,本仓库对应 armv7 环境需再跑一遍确认导出与权限。
---
## 4. 高级 Node.js04-0104-14
- `04-01-k3s-nodejs-高级部署.md`
- 状态:❓ 未验证
- 备注:主入口;具体能力验证依赖 `04-02``04-14` 分项。
- `04-02-nodejs-镜像与运行命令.md`
- 状态:❓ 未验证
- 备注:镜像 tag/`imagePullPolicy`/`command`/`args` 在实机拉取与启动验证。
- `04-03-nodejs-环境变量与配置注入.md`
- 状态:❓ 未验证
- 备注ConfigMap/Secret 注入与 `printenv`/`curl` 结果一致。
- `04-04-nodejs-端口与Service.md`
- 状态:❓ 未验证
- 备注:`targetPort` 与进程监听一致Endpoints 有地址。
- `04-05-nodejs-资源请求与限制.md`
- 状态:❓ 未验证
- 备注:`kubectl top` 与 OOM/节流行为符合预期。
- `04-06-nodejs-探针与健康检查.md`
- 状态:❓ 未验证
- 备注readiness/liveness 与 Endpoint/重启行为验证。
- `04-07-nodejs-调度与亲和.md`
- 状态:❓ 未验证
- 备注:`nodeSelector`/亲和/容忍与节点标签实机一致。
- `04-08-nodejs-安全上下文.md`
- 状态:❓ 未验证
- 备注:非 root/只读根等策略下应用仍可运行。
- `04-09-nodejs-存储与卷.md`
- 状态:❓ 未验证
- 备注PVC/emptyDir 挂载与读写、配合 `03-05`/`03-07` 存储选型。
- `04-10-nodejs-Ingress与Traefik.md`
- 状态:❓ 未验证
- 备注path/host/入口点注解与 Traefik 路由一致。
- `04-11-nodejs-副本与滚动发布.md`
- 状态:❓ 未验证
- 备注:多副本与 `rollout`/`undo` 实机验证。
- `04-12-nodejs-TLS与证书.md`
- 状态:❓ 未验证
- 备注HTTPS 与 `03-02` ACME/Secret 配合验证证书与域名。
- `04-13-nodejs-HPA.md`
- 状态:❓ 未验证
- 备注metrics-server 可用;压测触发扩缩。
- `04-14-nodejs-GitOps与CI流水线.md`
- 状态:❓ 未验证
- 备注:流程文档;按 `05-03`/`05-04`/`03-09` 任选一条链路实机跑通后更新。
---
## 5. 常用应用与监控05-*
- `05-01-k3s-部署homer首页面板.md`
- 状态:❓ 未验证
- 备注:待在集群内按文档部署 Homer并确认首页可访问。
- `05-02-onenav首页面板.md`
- 状态:❓ 未验证
- 备注:包含 armv7 独立部署 + K3s 反向代理两个部分,需分别验证。
- `05-03-k3s-安装gitlab-含runner.md`
- 状态:❓ 未验证
- 备注:待完成 GitLab + Runner 安装与基础流水线运行。
- `05-04-k3s-配置gitlab-cicd.md`
- 状态:❓ 未验证
- 备注:需在真实仓库上跑通一次 K3s 部署流水线。
- `05-05-prometheus与grafana.md`
- 状态:❓ 未验证
- 备注:待完成 kube-prometheus-stack 安装与 Dashboard 访问。
- `05-06-openlist挂载网盘与自动备份.md`
- 状态:❓ 未验证
- 备注:待在实际网盘与备份目录上验证周期备份任务。
- `05-07-openclaw应用部署.md`
- 状态:❓ 未验证
- 备注:待在 x86 主机用 Docker 部署 OpenClaw并在 K3s 中完成静态转发验证。
- `05-08-openclaw-k3s-实验部署.md`
- 状态:❓ 未验证
- 备注:待在 K3s 内按实验文档直接部署 OpenClaw Gateway并确认入口可访问。
---
## 6. 排障与运维06-*
- `06-01-k3s-networkpolicy-故障排查.md`
- 状态:✅ 已验证
- 备注:已在 Fedora 43 + K3s 环境排查并修复过“62:80 不通 / firewalld 拦截 flannel.1 <-> cni0”的问题脚本与命令均来自实战过程。
- `06-02-运维小结.md`
- 状态:❓ 未验证
- 备注:运维建议为经验总结,后续可在日常巡检/备份流程固化后逐条打勾。
---
## 8. 如何更新本矩阵
- 修改某篇文档的关键步骤(尤其是“操作步骤 / 验证命令 / 预期”)时:
- 记得同步更新这里对应条目的“状态”和“备注”。
- 大改后建议先把状态退回“未验证”或“部分验证”,等新流程在实机跑完再改回“已验证”。
- 执行中文文档一键安全对齐或大规模内容调整时,建议把 **验证矩阵** 一起纳入检查范围,避免出现“文档已经改了,但矩阵还显示已验证”的错觉。