Files
Deploy-Laboratory/scripts/.env.verify.example
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

104 lines
6.2 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 验证矩阵 / 编排脚本用环境变量模板
# ---------------------------------------------------------------------------
# 使用:复制为本目录下的 .env.verify勿提交 Git在仓库根执行
# set -a && source scripts/.env.verify && set +a
# 或在 bash 中source scripts/.env.verify
# 仅示例占位,请把 YOUR_* 换成真实值;密钥只留在本机 .env.verify。
# ---------------------------------------------------------------------------
# --- 集群与 kubectl ---
# 在控制节点本机跑 kubectl 时常用:
# export KUBECONFIG="${KUBECONFIG:-/etc/rancher/k3s/k3s.yaml}"
# 若在办公机通过 SSH 在远端执行 kubectl可设为
# export K3S_CONTROL_SSH="ssh -o BatchMode=yes ylc61"
# export REMOTE_KUBECONFIG="/etc/rancher/k3s/k3s.yaml"
# 在控制节点本机执行 kubectl 时,避免再次经 SSH 自环(可按需保留):
# export VERIFY_FORCE_LOCAL_KUBECTL=1
# 经 SSH 在控制节点执行 kubectl 时:若 PATH 中无 kubectl可设 REMOTE_KUBECTL="k3s kubectl"
# export REMOTE_KUBECTL="k3s kubectl"
# 控制节点短主机名(与 inventory 一致;编排里拼 URL/SSH 用)
export K3S_SERVER_HOSTNAME="${K3S_SERVER_HOSTNAME:-ylc61}"
# 与 ansible group_vars 一致,验证磁盘/文档 00-04 时引用
export K3S_DATA_DIR="${K3S_DATA_DIR:-/storage}"
# --- Ansible安装/复验 k3s---
export ANSIBLE_INVENTORY="${ANSIBLE_INVENTORY:-$(pwd)/ansible/inventory.ini}"
# phase2run-phase2-k3s-on-ylc61-as-jack.sh 或手工):
# 为 true 时先跑 k3s-prepare-storage.yml须与 group_vars 一致)
export K3S_PREPARE_STORAGE="${K3S_PREPARE_STORAGE:-false}"
# phase2 建议在控制节点 ylc61 上执行(本机有 ansible-playbook办公机无 ansible 时用 phase2-print 复制命令到 ylc61
# --- SSH 密钥命名(与 scripts/ssh/test-ssh.sh 默认一致;脚本内尚为硬编码路径)---
# test-ssh 使用:$K3S_SSH_KEY_DIR/${K3S_SSH_KEY_PREFIX}<inventory主机名>
# 若你改用其他前缀,需同步改 test-ssh.sh 或仅用手工 ssh -i。
export K3S_SSH_KEY_DIR="${K3S_SSH_KEY_DIR:-$HOME/.ssh}"
export K3S_SSH_KEY_PREFIX="${K3S_SSH_KEY_PREFIX:-id_ed25519_k3s_}"
# setup-k3s-workers-ssh.sh 首次登录的非 root 用户名(交互默认 jack
export SSH_USER="${SSH_USER:-jack}"
# test-ssh.sh连接超时秒数脚本已支持环境变量 TIMEOUT_SEC
export TIMEOUT_SEC="${TIMEOUT_SEC:-5}"
# ---(旧自动验证已下线)---
# 如果你要重新落地自动化验证,请参考 docs/00-05 的测试框架设计说明。
# --- SSH第三方验证机 onecloud不忽略矩阵里多处依赖「集群外」curl/探测)---
# 用途示例02-xx nginx 矩阵从第三方访问 Ingress01-07 经 onecloud 对 OpenWrt:18080/18443 发 curl
# 与 K3s 节点 SSH 无关,但必须能免交互登录(建议 BatchMode + 已知的 IdentityFile
# 编排脚本应始终引用 ONECLOUD_SSH不要用「本机直接 curl」代替除非你明确改成本机。
export ONECLOUD_SSH="${ONECLOUD_SSH:-ssh -o BatchMode=yes onecloud}"
# 若需显式密钥,可写完整一行,例如:
# export ONECLOUD_SSH="ssh -o BatchMode=yes -i ~/.ssh/id_ed25519_onecloud onecloud"
# --- NFS03-06服务端与导出路径若需在服务端执行清理命令可填 SSH ---
export NFS_SERVER_HOST="${NFS_SERVER_HOST:-YOUR_NFS_IP_OR_HOSTNAME}"
export NFS_EXPORT_PATH="${NFS_EXPORT_PATH:-/export/k3s}"
# export NFS_SSH="ssh -o BatchMode=yes root@${NFS_SERVER_HOST}"
# --- CloudflareAPI / Tunnel与 scripts/cloudflare-delete-acme-challenge-dns.sh 等一致)---
# DNS 脚本使用CF_API_TOKEN、ZONE_NAME 或 ZONE_ID
export CF_API_TOKEN="${CF_API_TOKEN:-}"
export ZONE_NAME="${ZONE_NAME:-jackadam.top}"
export ZONE_ID="${ZONE_ID:-}"
# Tunnel / Dashboard 等若需单独 token按需增加勿提交真实值
# export CF_TUNNEL_TOKEN=""
# export CF_ACCOUNT_ID=""
# --- ACME / Traefik03-02、03-03Let's Encrypt 注册邮箱 ---
# 与 HelmChartConfig / traefik-acme.yaml 中 <YOUR_REAL_EMAIL> 一致;编排或 sed 替换时引用 ACME_EMAIL。
export ACME_EMAIL="${ACME_EMAIL:-}"
# 文档中 traefik-acme 曾用 staging CA 调试1=使用测试 CA与 yaml 中 caserver 是否一致自行核对)
export ACME_CA_STAGING="${ACME_CA_STAGING:-0}"
export TRAEFIK_NAMESPACE="${TRAEFIK_NAMESPACE:-kube-system}"
# --- TLS 验证域名02-05 / 03-02 矩阵 curl、openssl s_client---
# 逗号分隔,与 ZONE_NAME 下实际 DNS 记录一致;勿提交敏感子域若需可只写本机
export VERIFY_TLS_HOSTS="${VERIFY_TLS_HOSTS:-test01.jackadam.top,test02.jackadam.top,test03.jackadam.top,test04.jackadam.top}"
# --- Longhorn03-07 / ansible longhorn-install---
export LONGHORN_NAMESPACE="${LONGHORN_NAMESPACE:-longhorn-system}"
# --- 可选跳过仅下列项ONECLOUD 与 ARMV7 实机路径不在此列——见下方)---
export SKIP_HA="${SKIP_HA:-1}"
# 跑 01-03 / 01-05 时设为 0并填写 ARMV7_*;编排脚本不得在无设备时假装通过
export SKIP_ARMV7="${SKIP_ARMV7:-1}"
export SKIP_GITOPS="${SKIP_GITOPS:-1}"
# --- armv701-03 Docker、01-05 NFS不忽略与 ONECLOUD 一样,编排须显式走 ARMV7_*,不得跳过 ---
# 跑 01-03 / 01-05 时SKIP_ARMV7=0并填写 ARMV7_SSH可与 onecloud 同主机、或直连 arm按你环境二选一
# ARMV7_NFS_SSH 默认同 ARMV7_SSH若 NFS 在另一台 arm 上再单独覆盖。
export ARMV7_SSH="${ARMV7_SSH:-}"
export ARMV7_NFS_SSH="${ARMV7_NFS_SSH:-$ARMV7_SSH}"
# --- OpenWrt / 01-07与 K3s 四节点无关时单独用)---
# export OPENWRT_SSH="ssh -o BatchMode=yes root@192.168.x.x"
# export OPENWRT_HAPROXY_HTTP_PORT="18080"
# export OPENWRT_HAPROXY_HTTPS_PORT="18443"
# 01-07 文档中第三方 curl 用 --https-hosts 时的主机列表(逗号分隔,与 VERIFY_TLS_HOSTS 可相同)
# export OPENWRT_VERIFY_HTTPS_HOSTS="test01.jackadam.top,..."
# --- 与现有 scripts/*.sh 对照(未列出的脚本不在仓库内)---
# cloudflare-delete-acme-challenge-dns.sh → CF_API_TOKEN, ZONE_NAME, ZONE_ID
# k3s-delete-lab-stacks.sh → KUBECONFIG
# ssh/test-ssh.sh → TIMEOUT_SEC密钥路径当前固定为 $HOME/.ssh/id_ed25519_k3s_<host>
# ssh/setup-k3s-workers-ssh.sh → 交互 inventory + SSH_USER可选一次性密码勿写入本文件