- 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
72 lines
3.3 KiB
Markdown
72 lines
3.3 KiB
Markdown
# Scripts 总览
|
||
|
||
本目录集中维护 K3s 排障与恢复脚本。统一约定:**在仓库根目录执行**,使用 `./scripts/...` 路径调用。
|
||
|
||
## 目录
|
||
- `scripts/01-08-deploy-openwrt-haproxy.sh`
|
||
- 一键部署:uhttpd 改回 80/443(IPv4+IPv6),HAProxy 部署到 18080/18443(默认 haproxy-tls)
|
||
- `scripts/01-08-deploy-nginx-tls-via-ylc61.sh`
|
||
- 经 ssh ylc61 在控制节点上一键部署 nginx TLS 矩阵(M1~M4,test01~04);同步 ansible + SSH 密钥后执行 playbook
|
||
- `scripts/03-verify-traefik-dashboard-acme.sh`
|
||
- 03-03 配置验证:核对 traefik-dashboard-acme 模板合并 03-01+03-02 要素;检查当前 ACME;可选 `--apply` 尝试应用(会触发 Traefik 重启)
|
||
- `scripts/02-verify-nginx-matrix-individual.sh`
|
||
- 02 系列逐个验证:清理 → 逐个部署 02-01~02-04(path-based)→ TLS 矩阵 → onecloud 验证 HTTP path + HTTPS domain;验证通过后需手动更新 `docs/00-02-验证矩阵.md`
|
||
- `scripts/01-08-verify-haproxy-openwrt.sh`
|
||
- 家庭私网默认:调用主脚本,18080/18443、onecloud 第三方验证(见 `docs/01-08-openwrt-haproxy.md`)
|
||
- `scripts/01-08-verify-haproxy.sh`
|
||
- **核心**:校验 `ansible/files/01-08-haproxy/*.cfg` 在 OpenWrt 上 `haproxy -c` 通过;`--cfg-only` 仅做语法校验、不 curl。完整流程另经 ssh onecloud 验证 HTTP/HTTPS;可选 `--deploy-matrix http|tls`、`--https-hosts`;验证通过可更新验证矩阵
|
||
- `scripts/ssh/setup-k3s-workers-ssh.sh`
|
||
- 为 Ansible 自动化准备 SSH:为所有 k3s 节点配置 jack + root 公钥及每节点私钥(配合 `docs/01-07-节点初始化-ansible-实践.md`)
|
||
- `scripts/diag/entrypath/entrypath.sh`
|
||
- K3s 入口到 Traefik 回包链路诊断主命令
|
||
- `scripts/diag/netpol/check-net.sh`
|
||
- NetworkPolicy/连通性快速检查脚本(交互模式,自动输出日志)
|
||
- `scripts/diag/recovery/k3s-recovery-reset.sh`
|
||
- K3s 排障场景重置与恢复脚本
|
||
- `scripts/diag/firewalld/setup-k3s-firewalld-interfaces.sh`
|
||
- 一键写入 `flannel.1` / `cni0` 到 firewalld `trusted`(含持久化)
|
||
- `scripts/diag/ssh/setup-ssh-keys.sh`
|
||
- 交互式生成并下发 SSH 排障密钥
|
||
- `scripts/diag/ssh/test-ssh.sh`
|
||
- 验证 worker/client SSH key 登录与 sudo 可用性
|
||
|
||
## 从仓库根执行示例
|
||
|
||
```bash
|
||
# 1) 初始化排障 SSH 密钥(可选)
|
||
./scripts/diag/ssh/setup-ssh-keys.sh
|
||
|
||
# 2) 验证 SSH(建议)
|
||
./scripts/diag/ssh/test-ssh.sh
|
||
|
||
# 3) 写入 firewalld 接口基线(推荐,Fedora/FCOS)
|
||
./scripts/diag/firewalld/setup-k3s-firewalld-interfaces.sh
|
||
|
||
# 4) 快速检查(交互)
|
||
./scripts/diag/netpol/check-net.sh
|
||
|
||
# 5) 执行完整入口链路诊断
|
||
./scripts/diag/entrypath/entrypath.sh run \
|
||
--worker-host root@192.168.2.62 \
|
||
--client-host root@192.168.2.63 \
|
||
--worker-ssh-key ~/.ssh/id_ed25519_k3s_diag_worker \
|
||
--client-ssh-key ~/.ssh/id_ed25519_k3s_diag_client \
|
||
--client-ip 192.168.2.63 \
|
||
--lb-ip 192.168.2.62 \
|
||
--remote-check y \
|
||
--capture-mode y \
|
||
--capture-seconds 15 \
|
||
--nft-trace-mode y \
|
||
--nft-trace-seconds 10 \
|
||
--return-trace-mode y \
|
||
--return-trace-seconds 12 \
|
||
--pod-netns-trace-mode y \
|
||
--pod-netns-trace-seconds 12 \
|
||
--non-interactive
|
||
```
|
||
|
||
## 说明文档
|
||
|
||
- 入口链路诊断详见 `scripts/diag/entrypath/README.md`
|
||
- 主文档入口详见 `docs/00-00-构建总览.md`
|