- 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
3.7 KiB
3.7 KiB
Scripts 总览
本目录集中维护通用运维脚本。统一约定:在仓库根目录执行,使用 ./scripts/... 路径调用。
验证编排环境变量(可选)
复制 scripts/.env.verify.example 为 scripts/.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 ACME(03-02 / 03-03);另有 VERIFY_TLS_HOSTS、K3S_SERVER_HOSTNAME、TIMEOUT_SEC(test-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,有两种方式:
- 方式 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
- 方式 B:从办公机一键触发(内部通过 SSH 在
ylc61上以jack身份执行)
# 可选:先准备 /storage
export K3S_PREPARE_STORAGE=false # 或 true
./scripts/ssh/run-phase2-k3s-on-ylc61-as-jack.sh
密钥在 jack:inventory.ini 中私钥路径会随执行用户变化。上述方式会确保在 ylc61 以 jack 身份运行,避免把私钥解析到 /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仅列出不删除
- 批量删除 Cloudflare 中
scripts/ssh/setup-k3s-workers-ssh.sh- 为 Ansible 自动化准备 SSH:为所有 k3s 节点配置 jack + root 公钥及每节点私钥(配合
docs/01-06-节点初始化-ansible-实践.md)
- 为 Ansible 自动化准备 SSH:为所有 k3s 节点配置 jack + root 公钥及每节点私钥(配合
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