Files
Deploy-Laboratory/scripts/README.md
jack 231b6713c4 chore: 对齐 00-05 §2 的部署与验证脚本
- 新增 deploy-lab.sh(k3s/longhorn/nginx 铺栈)与 ssh/run-phase2-k3s-on-ylc61-as-jack.sh
- verify.sh:flow/preflight、VERIFY_TEARDOWN 默认、注释与 §2 对应
- 更新 smoke-verify、README、.env.verify.example、根 README 与主要 playbook 头注释
- k3s-delete-lab-stacks 标明重度清场语义

Made-with: Cursor
2026-03-26 07:32:08 +08:00

4.4 KiB
Raw Blame History

Scripts 总览

本目录集中维护通用运维脚本。约定:在仓库根目录执行,使用 ./scripts/... 路径调用。

流程说明与「部署 / 验证」分工以 docs/00-05-测试与验证框架.md §2 自动化验证流程 为准;下表与之一一对应。

§2 步骤 含义 本仓库入口
1 接入 inventory、仓库同步、加载 .env.verify 手工;verify.sh / deploy-lab.sh 会自动 source scripts/.env.verify(若存在)
2 环境/清理 轻量:各 verify 的 teardown重度清实验负载 / 重装 K3s 轻量:VERIFY_TEARDOWN(默认 1重度k3s-delete-lab-stacks.sh、文档中的 k3s-uninstall默认进 run-all
3 部署 K3s、Longhorn、nginx 矩阵等铺栈 ./scripts/deploy-lab.shk3s / longhorn / nginx-matrix / nginx-matrix-tls
45 断言与收尾 按 doc 目标 kubectl/curl本篇 teardown ./scripts/verify.sh run / run-all
6 一键串联 按矩阵顺序跑全部 verify ./scripts/verify.sh run-all

辅助命令:

  • ./scripts/verify.sh flow — 打印与 §2 对齐的流程说明(不接 Ansible
  • ./scripts/verify.sh preflight — 检查 ansible-playbook、矩阵、inventory,并对 k3s_server 执行 ping;若已装集群可设 VERIFY_PREFLIGHT_CLUSTER=1 再执行 kubectl get nodes

验证编排环境变量(可选)

复制 scripts/.env.verify.examplescripts/.env.verify 并填写本机值;勿提交 scripts/.env.verify(已在仓库 .gitignore 中忽略)。

其中 ONECLOUD_SSH 用于矩阵里集群外第三方 curl 等;ARMV7_SSH / ARMV7_NFS_SSH 用于 01-03 / 01-05 实机;ACME_EMAIL 供 Traefik ACME03-02 / 03-03);另有 VERIFY_TLS_HOSTSK3S_SERVER_HOSTNAMETIMEOUT_SECLONGHORN_NAMESPACE 等,完整列表见 .env.verify.example 文末注释。

set -a && source scripts/.env.verify && set +a

部署 K3s推荐在控制节点或 Linux 工作机)

  1. 在仓库根(或 cd ansible 后改用相对路径)执行 ./scripts/deploy-lab.sh k3s。若需先准备数据盘,在 本机或 .env.verify 中设 K3S_PREPARE_STORAGE=true(会传 -e k3s_prepare_storage=truek3s-prepare-storage.yml)。
  2. 办公机无 Ansible 时,可 SSH 到 ylc61 再执行上述命令,或使用:
export K3S_PREPARE_STORAGE=false   # 或 true
./scripts/ssh/run-phase2-k3s-on-ylc61-as-jack.sh

环境变量 LAB_REPO_ROOT(仅 SSH 包装脚本使用)可指定远端仓库路径,默认 /home/jack/实验室建设

密钥与执行用户inventory.ini 中私钥路径随执行用户变化;在 ylc61 上以 jack 执行可避免解析到 /root/.ssh/

验证矩阵run-all / 抽样 smoke

./scripts/verify.sh preflight
export nginx_entry_base=http://192.168.2.61
./scripts/verify.sh run-all

从办公机经 SSH 在远端仓库根跑抽样用例:

./scripts/ssh/smoke-verify-matrix-on-ylc61.sh

可用 VERIFY_REPO_ROOT 指定远端路径(默认 /home/jack/实验室建设)。

目录与脚本对照

  • verify.sh — 矩阵验收:flow / preflight / list / run / run-all
  • deploy-lab.sh — 安装/铺栈:k3s / longhorn / nginx-matrix / nginx-matrix-tls
  • ssh/run-phase2-k3s-on-ylc61-as-jack.sh — 办公机触发远端 deploy-lab.sh k3s
  • ssh/smoke-verify-matrix-on-ylc61.sh — 办公机触发远端若干 verify.sh run
  • k3s-delete-lab-stacks.sh — 按 kubectl 实况清命名空间负载(重度清场,非默认 teardown
  • cloudflare-delete-acme-challenge-dns.sh — 清理 CF 上 _acme-challenge DNS
  • ssh/setup-k3s-workers-ssh.sh — 为 K3s 节点预配 SSH配合 01-06
  • ssh/test-ssh.sh — 验证 worker 密钥登录与 sudo

从仓库根执行示例

./scripts/ssh/setup-k3s-workers-ssh.sh
./scripts/ssh/test-ssh.sh
./scripts/deploy-lab.sh k3s
./scripts/verify.sh preflight
./scripts/verify.sh run 02-05

说明文档