8a54cac61f658a9d76b5741bce848dc18bc0e197
- 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
实验室建设(新手入口)
这个仓库是一个家庭实验室(Homelab)实战记录: 从 0 开始搭 K3s 集群、配 Traefik 入口、跑常见服务(比如 GitLab、监控、首页面板),并配好排障脚本。
如果你是第一次看,不用担心,按下面顺序一步一步来就行。
先知道这仓库怎么逛
- 文档主入口:
docs/00-00-构建总览.md - 部署环境说明:
docs/00-04-部署环境说明.md(节点布局、IP、版本等) - 脚本主入口:
scripts/README.md - 验证状态一览:
docs/00-02-验证矩阵.md
简单理解这三份入口的分工:
README.md:新手入口,看“要做什么、按什么顺序做”;00-00-构建总览.md:文档导航,看“下一步该看哪一篇”;00-01-k3s-基础概念.md:概念速查,看“不懂的 K3s/Traefik/NetworkPolicy 术语”;00-02-验证矩阵.md:状态面板,看“哪些文档已经在真实环境跑通过”。
目录约定很简单:
- 主文档都在
docs/ - 脚本都在
scripts/ - 脚本默认从仓库根目录执行(例如
./scripts/...)
新手推荐安装顺序(口语版)
-
先看总览,别急着装 打开
docs/00-00-构建总览.md,先把整体拓扑和机器分工看明白。 -
装 K3s 集群(两种方式二选一)
- 自动化:按
docs/01-07-节点初始化-ansible-实践.md用 Ansible 一键完成 61~64 初始化 + server/worker 安装(已验证)。 - 手动:先按
docs/01-01-k3s-控制节点含traefik.md装控制节点 61,再按docs/01-02-k3s-工作节点.md加工作节点 62~64。
- 自动化:按
-
确认节点 Ready 执行
kubectl get nodes,确认所有节点 Ready。 -
先用 nginx 做最小验证 按
docs/04-03-k3s-nginx-demo.md,先打通“能访问”这件事,再上 nodejs。 -
再做 nodejs、dashboard、acme 对应看
docs/04-01-k3s-nodejs-高级部署.md、docs/03-01-k3s-traefik-dashboard.md、docs/03-02-k3s-traefik-acme.md。 -
遇到 502/不通,直接用脚本排障 去
scripts/README.md抄命令,优先跑入口链路诊断和 firewalld 基线脚本。
30 分钟快速通关(最小必做)
如果你时间有限,先只做这 4 步,跑通再扩展:
- 装集群:用 Ansible 按
docs/01-07-节点初始化-ansible-实践.md一键安装(推荐);或按docs/01-01+docs/01-02手动装控制节点(61)与工作节点(62) - 执行
kubectl get nodes,确认节点 Ready - 按
docs/04-03-k3s-nginx-demo.md部署 nginx 示例并访问一次 - 若访问不通,按
scripts/README.md先跑 firewalld 基线与入口链路诊断脚本
跑到这里就算「基础链路通关」。后面再继续 nodejs、dashboard、acme 会轻松很多。
如果你愿意,也可以顺手在 docs/00-02-验证矩阵.md 里,把对应文档的状态改成“已验证”,方便以后回顾。
一句话建议
先把基础链路(61/62:80)跑通,再叠加业务;每做完一步都做一次 curl 验证,排障会轻松很多。
Description
Languages
Shell
54.2%
Python
44.2%
Jinja
1.6%