Files
Deploy-Laboratory/scripts
jack 8c43761962 feat: 按 doc_id 重组 ansible/files 与验证框架
- ansible/files 改为与文档 XX-YY 对齐的目录结构,更新相关 playbook 路径
- 新增 scripts/verify.sh 与 ansible/playbooks/verify/*.yml,移除单体 verify-matrix.yml
- 补充 docs/00-02 矩阵状态、00-05 验证框架与流程、00-04 环境与 ylc65 工作机说明
- 增加 k3s 存储准备、Longhorn、local-path 等 playbook 与辅助脚本

Made-with: Cursor
2026-03-26 07:01:14 +08:00
..

Scripts 总览

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

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

复制 scripts/.env.verify.examplescripts/.env.verify 并填写本机值;勿提交 scripts/.env.verify(已在仓库 .gitignore 中忽略)。其中 ONECLOUD_SSH(默认 ssh … onecloud)用于矩阵里集群外第三方 curl 等验证,与 SKIP_* 无关;ARMV7_SSH / ARMV7_NFS_SSH 用于 01-03 / 01-05 实机,同样不属「可忽略」项,与 SKIP_ARMV7=0 配对使用。ACME_EMAIL 供 Traefik ACME03-02 / 03-03);另有 VERIFY_TLS_HOSTSK3S_SERVER_HOSTNAMETIMEOUT_SECtest-ssh.sh 已读)、LONGHORN_NAMESPACE 等,完整列表与「和现有 scripts/*.sh 的对照」见 .env.verify.example 文末注释。加载示例:

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

验证框架状态(自动化已移除)

旧的验证矩阵编排与静态校验 CI 已下线;docs/00-02-验证矩阵.md 仍作为“待验证列表/状态记录”,当前以手工验证为准。

如果你要重新落地自动化验证框架,请以设计说明 docs/00-05-测试与验证框架.md 中的分层与 doc_id 映射约定为基线。

用 ylc61 跑 Ansible 装 K3s推荐

如果办公机Windows没有 ansible-playbook,有两种方式:

  1. 方式 A把仓库同步到 ylc61,然后在 ylc61 上直接跑 playbook
sudo dnf install -y ansible    # Fedora未装过时
cd ~/实验室建设              # 按你实际路径;若在 /home/jack 则相应 cd
cd ansible
# 可选:第二块盘 → /storage 先准备
# ansible-playbook -i inventory.ini playbooks/k3s-prepare-storage.yml
ansible-playbook -i inventory.ini playbooks/k3s-init-and-install.yml
  1. 方式 B从办公机一键触发内部通过 SSH 在 ylc61 上以 jack 身份执行)
# 可选:先准备 /storage
export K3S_PREPARE_STORAGE=false    # 或 true
./scripts/ssh/run-phase2-k3s-on-ylc61-as-jack.sh

密钥在 jackinventory.ini 中私钥路径会随执行用户变化。上述方式会确保在 ylc61jack 身份运行,避免把私钥解析到 /root/.ssh/

目录

  • scripts/k3s-delete-lab-stacks.sh
    • 按集群里实际资源遍历删除:用 kubectl get 枚举各命名空间下的 Deployment/Service/Ingress/IngressRoute 等再 kubectl delete不读仓库 YAML 目录);默认跳过 kube-system 等系统命名空间;--preview 只列资源;--namespaces 限定 NS--with-pvc / --with-configmaps / --with-secrets(需 jq)按需打开
  • scripts/cloudflare-delete-acme-challenge-dns.sh
    • 批量删除 Cloudflare 中 _acme-challenge 相关 DNS 记录ACME 残留);环境变量或脚本内 DEFAULT_* 配置二选一,环境变量优先;--dry-run 仅列出不删除
  • scripts/ssh/setup-k3s-workers-ssh.sh
    • 为 Ansible 自动化准备 SSH为所有 k3s 节点配置 jack + root 公钥及每节点私钥(配合 docs/01-06-节点初始化-ansible-实践.md
  • scripts/ssh/test-ssh.sh
    • 验证 worker/client SSH key 登录与 sudo 可用性

从仓库根执行示例

# 1) 初始化 worker SSH 密钥(可选)
./scripts/ssh/setup-k3s-workers-ssh.sh

# 2) 验证 SSH建议
./scripts/ssh/test-ssh.sh

# 3) 执行批量部署/配置(示例)
cd ansible
ansible-playbook -i inventory.ini playbooks/k3s-init-and-install.yml

说明文档

  • 主文档入口详见 docs/00-00-构建总览.md