日常更新

This commit is contained in:
2026-03-29 09:08:01 +08:00
parent 31709425e2
commit befdefd222
224 changed files with 7240 additions and 3297 deletions

128
ansible/env/.env.verify.example vendored Normal file
View File

@@ -0,0 +1,128 @@
# 验证矩阵 / 编排脚本用环境变量模板example
# ---------------------------------------------------------------------------
# 约定本文件只写“值”KEY=VALUE不写默认展开/命令替换等执行逻辑。
#
# 使用(必须在仓库根目录执行):
# cp ansible/env/.env.verify.example ansible/env/.env.verify
# set -a && source ansible/env/.env.verify && set +a
# ---------------------------------------------------------------------------
# =========================
# 1) 你只需要改这一段(值)
# =========================
# --- SSH ---
# K3S_SSH_KEY_DIR存放 ssh key 的目录
K3S_SSH_KEY_DIR=$HOME/.ssh
# K3S_SSH_KEY_PREFIXkey 前缀(脚本会按此前缀拼接具体节点 key
K3S_SSH_KEY_PREFIX=id_ed25519_k3s_
# SSH_USERssh 登录用户名
SSH_USER=jack
# TIMEOUT_SEC常用探测/连接超时时间(秒)
TIMEOUT_SEC=5
# --- Ansible控制端---
# ANSIBLE_INVENTORYinventory 路径(相对仓库根);一般无需改
ANSIBLE_INVENTORY=ansible/inventory.ini
# ANSIBLE_LOCAL_TMP可选控制端无法写 ~/.ansible 时设为仓库内路径,如 $PWD/.ansible-tmp见 docs/00-03
# --- 01-01 / 01-02集群、kubectl 与 data-dirk3s共用---
# docs/01-01控制面与 docs/01-02工作节点加入共用此二项K3S_SERVER_HOSTNAME = 控制面短主机名inventory 中 k3s_server01-02 手工 K3S_URL 指向该节点 6443K3S_DATA_DIR = 各节点一致的 k3s --data-dir与 group_vars k3s_data_dir 一致。verify/01-01 以节点 kubeconfig 为准playbook 不强制从 env 读此二项。
K3S_SERVER_HOSTNAME=ylc61
K3S_DATA_DIR=/storage
# --- 01-03 / 01-04 armv7docs/01-03、01-04docs/00-03 §10.E---
# 可选SKIP_ARMV7默认 1 时 verify/01-03、01-04 仅矩阵基线0 时须配 ARMV7_SSH 等并由 playbook lookup
SKIP_ARMV7=1
# 01-03SKIP_ARMV7=0 时需 ARMV7_SSHverify 调用 ansible/tools/armv7-docker-verify-install.sh先 docker info失败再 get.docker.com
# 01-04SKIP_ARMV7=0 时需 ARMV7_NFS_SSH或同机ARMV7_NFS_EXPORT_PATH、ARMV7_NFS_CLIENT_SUBNET 见 verify/01-04.yml
ARMV7_SSH=YOUR_ARMV7_SSH
ARMV7_NFS_SSH=YOUR_ARMV7_NFS_SSH
ARMV7_NFS_EXPORT_PATH=/sdcard
ARMV7_NFS_CLIENT_SUBNET=192.168.2.0/24
# --- 01-05docs/01-05节点初始化与 k3s 安装)---
# K3S_PREPARE_STORAGEdeploy-lab.sh k3s 是否在首段跑「准备数据盘」ansible/bin/deploy-lab.sh 读此变量)
# K3S_DO_PREPARE_STORAGE / K3S_DO_INSTALLverify/01-05.yml 从环境读取(与 ansible-playbook -e 等价)。真正分区还须 group_vars k3s_prepare_storage: true 且 k3s_data_disk_device=/dev/xxx
K3S_PREPARE_STORAGE=false
K3S_DO_PREPARE_STORAGE=false
K3S_DO_INSTALL=false
# k3s 安装脚本镜像/超时:在 ansible/group_vars/all.yml 设 k3s_install_mirror: cn、k3s_install_curl_max_time 等(非本 env 变量);或 ansible-playbook … -e k3s_install_mirror=cn
# --- deploy-lab.sh铺栈docs/00-03 / project-context---
# DEPLOY_VERIFY_TEARDOWNdeploy-lab 传入 playbook 的 VERIFY_TEARDOWN默认 0保留已部署资源
DEPLOY_VERIFY_TEARDOWN=0
# --- 01-06 集群外探测 SSHdocs/01-06、00-03---
# WORKSTATION_SSH在 **Linux 工作机**上执行集群外 curl 等的一行 ssh示例 ylc65见 docs/00-02可改为 user@<你的工作机主机名>。含空格必须加引号。(旧名 ONECLOUD_SSH 已弃用)
WORKSTATION_SSH="ssh -o BatchMode=yes jack@ylc65"
# --- 验证入口与 preflight02-xx / 04-xx 共用)---
# nginx_entry_base、nodejs_entry_baseHTTP 验证入口基址(按 ingress/负载均衡填写。nginx 矩阵02-0102-04为集群内临时 Pod 直连 nginx-mX.default.svc。
# VERIFY_TEARDOWNverify.sh 默认 1清理现场调试可设 0保留现场可能污染后续用例
VERIFY_TEARDOWN=1
# VERIFY_PREFLIGHT_CLUSTER默认 0离线/轻量 preflight设 1 时 preflight 在控制节点执行 kubectl get nodes见 docs/00-03
VERIFY_PREFLIGHT_CLUSTER=0
nginx_entry_base=http://192.168.2.61
nodejs_entry_base=http://192.168.2.61
# --- 03-08 k3s HA可选·预留---
# 可选SKIP_HA当前 verify playbook 未 lookup仅与 docs/03-08 及 HA 类备忘对齐
SKIP_HA=1
# --- 03-09 GitOps可选·预留---
# 可选SKIP_GITOPS当前 verify playbook 未 lookup仅与 docs/03-09 备忘对齐
SKIP_GITOPS=1
# --- CloudflareCF API / Zone---
# 03-02 / 03-03ACME DNS-01 需 CF_API_TOKENZONE_* 为手工/Token 校验辅助preflight 不强门禁verify.sh 注释)
# CF_API_TOKENCloudflare API Token敏感信息
CF_API_TOKEN=YOUR_CF_API_TOKEN
# ZONE_NAME / ZONE_IDCloudflare Zone 信息可选预留playbook 未 lookup
ZONE_NAME=jackadam.top
ZONE_ID=YOUR_ZONE_ID
# --- 03-02 / 03-03 ACME 与 Traefik ---
# 03-02 / 03-03ACME_EMAIL 为 Let's Encrypt 注册邮箱verify 必填。ACME_CA_STAGING=1 使用 staging CA。
# TRAEFIK_NAMESPACE预留playbook 中 Traefik 固定 kube-system未读此 env
ACME_EMAIL=you@example.com
ACME_CA_STAGING=0
TRAEFIK_NAMESPACE=kube-system
# TRAEFIK_DASHBOARD_VERIFY_URL03-03 验收 Dashboard HTTP 探针完整 URL可选未设则按 k3s_server_ip/dashboard/
# TRAEFIK_DASHBOARD_VERIFY_URL=http://192.168.2.61/dashboard/
# --- TLS 域名(预留)---
# VERIFY_TLS_HOSTS手工 openssl/curl 对照用03-02 TLS 矩阵域名为清单内嵌playbook 未读此变量
VERIFY_TLS_HOSTS=test01.jackadam.top,test02.jackadam.top,test03.jackadam.top,test04.jackadam.top
# --- 03-02nginx 矩阵 TLS 可选)---
# 03-02NGINX_MATRIX_TLS_ENABLE=true 时部署 TLS+HTTP nginx 矩阵(改 default与 deploy-lab.sh nginx-matrix-tls 一致)。
NGINX_MATRIX_TLS_ENABLE=false
# --- 03-04 Cloudflare Tunneldocs/03-04---
# HTTPS 探针需 CF_TUNNEL_TEST_URL 或 CF_TUNNEL_TEST_HOST二选一皆缺则 [GATE]。TUNNEL_TOKEN 与集群 kube-system Secret cloudflared-credentials 二选一。
TUNNEL_TOKEN=YOUR_TUNNEL_TOKEN
# CF_TUNNEL_TEST_URL=https://your-tunnel-host.example.com/
CF_TUNNEL_TEST_HOST=traefik.jackadam.top
# CF_TUNNEL_CURL_INSECURE=1 — 03-04 探针 curl 使用 -k排障用
# --- 03-05 ---
# 03-05LOCAL_PATH_APPLY_LAB_CONFIG=true 时注入 local-path lab ConfigMap 并 rollout restart provisioner。
LOCAL_PATH_APPLY_LAB_CONFIG=false
# --- NFSdocs/03-06---
# verify/03-06.ymlNFS_SERVER_IP + NFS_EXPORT_PATH 均非空才跑 PV/PVC + Job任一为空则 [GATE]。NFS_SERVER_HOST 仅与文档/运维备注对齐playbook 不读取。
NFS_SERVER_HOST=onecloud
NFS_SERVER_IP=onecloud
NFS_EXPORT_PATH=/export/k3s
# --- Longhorn预留---
# LONGHORN_NAMESPACE与 docs/03-07 叙述对齐;命名空间以 playbook/group_vars 为准,当前 verify 未 lookup 此键
LONGHORN_NAMESPACE=longhorn-system
# --- 04-07 / 04-12 NodeJS TLSdocs/04-12、00-03---
# 04-12NODEJS_TLS_ENTRY_BASE + NODEJS_TLS_HOST 时跑 tls-openssl-sni + HTTPS 断言;无 Secret 时可 CREATE_NODEJS_DEMO_TLS_SECRET=1 自签。
# NODEJS_TLS_ENTRY_BASE=https://192.168.2.61:443
# NODEJS_TLS_HOST=app.example.local
# CREATE_NODEJS_DEMO_TLS_SECRET=1
# NODEJS_TLS_CURL_INSECURE=1