对齐文件规范

This commit is contained in:
2026-03-27 16:58:41 +08:00
parent 231b6713c4
commit 31709425e2
235 changed files with 5433 additions and 2850 deletions

View File

@@ -2,6 +2,14 @@
> 按顺序完成 Traefik Dashboard 与 ACME 自动证书为后续应用GitLab、Homer 等)提供 HTTPS 能力。**ACME 配置与 03-03 已实机验证**2026-03K3s 4 节点、Cloudflare DNS-01、Let's Encrypt本页为 Dashboard + ACME 合并版。
## TL;DR
- **自动化验收**`./scripts/verify.sh run 03-03`
- **关键前置**:按本文「前置条件」准备环境变量/Secret/入口 IP
- **成功判据**:达到本文「预期」且 playbook 断言通过
- **排障**:见本文「排障」
## 前置条件
- 已完成 `01-02-k3s-工作节点.md`(集群与 Traefik 可用)
@@ -20,7 +28,7 @@ kubectl -n kube-system create secret generic cloudflare-api-token \
> 说明Traefik 的 `HelmChartConfig` 只能有一份Dashboard 与 ACME 需合并在同一文件中。**ACME 配置基于 03-03 实机验证**(递归 DNS、propagation 等待、ping、PROXY protocol、nodeSelector
创建 `traefik-dashboard-acme.yaml`,推荐放入 K3s manifests 目录(路径同 03-02。**唯一真源**(已含 **`persistence`local-path+ ACME + Dashboard + IngressRoute**,证书落盘 `/data/acme.json`[`traefik-dashboard-acme.yaml`](../ansible/files/03-03-traefik-dashboard-acme/traefik-dashboard-acme.yaml);复制后替换 `<YOUR_REAL_EMAIL>` 等占位符,或在仓库根执行 `kubectl apply -f ansible/files/03-03-traefik-dashboard-acme/traefik-dashboard-acme.yaml`。细节见 `03-05-k3s-local-path-pvc.md`
创建 `traefik-dashboard-acme.yaml`,推荐放入 K3s manifests 目录(路径同 03-02。**唯一真源**(已含 **`persistence`local-path+ ACME + Dashboard + IngressRoute**,证书落盘 `/data/acme.json`[`traefik-dashboard-acme.yaml`](../ansible/files/03-03/traefik-dashboard-acme.yaml);复制后替换 `<YOUR_REAL_EMAIL>` 等占位符,或在仓库根执行 `kubectl apply -f ansible/files/03-03/traefik-dashboard-acme.yaml`。细节见 `03-05-k3s-local-path-pvc.md`
> 将 `<YOUR_REAL_EMAIL>` 替换为你的邮箱。正式上线前删除 `caserver` 该行即切回生产 Let's Encrypt。**ACME 排障**DNS 解析错误、证书解析器不存在等)见 `03-02-k3s-traefik-acme.md` 中「常见问题」与「排查」小节。
@@ -76,12 +84,12 @@ kubectl -n kube-system logs deploy/traefik --tail=100 | grep -i acme
> 本节给出一个**完整、独立**的 Tomcat 示例:包含 Deployment + Service + Ingress三段 YAML域名为 `test05.jackadam.top`。前提是已经按本页前文配置并成功加载了 ACME`traefik-acme.yaml` 或 `traefik-dashboard-acme.yaml`)。
1. **唯一真源**[`ansible/files/03-03-traefik-dashboard-acme/tomcat-acme.yaml`](../ansible/files/03-03-traefik-dashboard-acme/tomcat-acme.yaml)。将其中域名改成你实际解析到集群入口 IP 的 FQDN。
1. **唯一真源**[`ansible/files/03-03/tomcat-acme.yaml`](../ansible/files/03-03/tomcat-acme.yaml)。将其中域名改成你实际解析到集群入口 IP 的 FQDN。
2. 应用并查看 ACME 日志 + 访问验证:
```bash
kubectl apply -f ansible/files/03-03-traefik-dashboard-acme/tomcat-acme.yaml
kubectl apply -f ansible/files/03-03/tomcat-acme.yaml
# 查看 ACME 相关日志(证书申请、签发情况)
kubectl -n kube-system logs deploy/traefik --tail=200 | grep -i acme || true
@@ -147,3 +155,8 @@ sudo rm -f /storage/server/manifests/traefik-dashboard-acme.yaml
- `03-04-k3s-cloudflare-tunnel-配置接入.md`:若需 Cloudflare Tunnel 接入
- `01-07-openwrt-haproxy.md`:如需调整外部端口/防火墙,参考 HAProxy 监听与转发(第 6 节)
## 排障
- **先看 playbook 输出**:失败时先定位是 deploy/wait/http_check 哪一步。
- **集群侧总览**`kubectl get nodes -o wide``kubectl -n kube-system get pods -o wide`
- **事件与日志**`kubectl -n <ns> describe ...``kubectl -n <ns> logs ... --tail=200`