对齐文件规范
This commit is contained in:
@@ -2,6 +2,14 @@
|
||||
|
||||
> 按顺序完成 Traefik Dashboard 与 ACME 自动证书,为后续应用(GitLab、Homer 等)提供 HTTPS 能力。**ACME 配置与 03-03 已实机验证**(2026-03,K3s 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`。
|
||||
|
||||
Reference in New Issue
Block a user