- 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
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 重启)
- 03-03 配置验证:核对 traefik-dashboard-acme 模板合并 03-01+03-02 要素;检查当前 ACME;可选
scripts/02-verify-nginx-matrix-individual.sh- 02 系列逐个验证:清理 → 逐个部署 02-01~02-04(path-based)→ TLS 矩阵 → onecloud 验证 HTTP path + HTTPS domain;验证通过后需手动更新
docs/00-02-验证矩阵.md
- 02 系列逐个验证:清理 → 逐个部署 02-01~02-04(path-based)→ TLS 矩阵 → onecloud 验证 HTTP path + HTTPS domain;验证通过后需手动更新
scripts/01-08-verify-haproxy-openwrt.sh- 家庭私网默认:调用主脚本,18080/18443、onecloud 第三方验证(见
docs/01-08-openwrt-haproxy.md)
- 家庭私网默认:调用主脚本,18080/18443、onecloud 第三方验证(见
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)
- 为 Ansible 自动化准备 SSH:为所有 k3s 节点配置 jack + root 公钥及每节点私钥(配合
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到 firewalldtrusted(含持久化)
- 一键写入
scripts/diag/ssh/setup-ssh-keys.sh- 交互式生成并下发 SSH 排障密钥
scripts/diag/ssh/test-ssh.sh- 验证 worker/client SSH key 登录与 sudo 可用性
从仓库根执行示例
# 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