对齐文件规范

This commit is contained in:
2026-03-27 16:58:41 +08:00
parent 231b6713c4
commit 31709425e2
235 changed files with 5433 additions and 2850 deletions

View File

@@ -1,25 +0,0 @@
#!/usr/bin/env bash
# 在办公机执行:经 SSH 在控制节点 ylc61 上跑「K3s 安装/复验」部署流水线。
# 对应 docs/00-05 §2 步骤 1接入+ 3部署中的 k3s 路径;与 verify.sh 矩阵验收分离。
#
# 依赖:本机可 ssh ylc61BatchMode远端仓库路径存在且含 scripts/deploy-lab.sh。
set -euo pipefail
REMOTE_ROOT="${LAB_REPO_ROOT:-/home/jack/实验室建设}"
# 将当前 shell 中的 K3S_PREPARE_STORAGE 传到远端(未设置则默认 false
KS_PREP="${K3S_PREPARE_STORAGE:-false}"
exec ssh -o BatchMode=yes ylc61 bash -lc "
set -euo pipefail
cd '${REMOTE_ROOT}'
chmod +x scripts/deploy-lab.sh 2>/dev/null || true
if [[ -f scripts/.env.verify ]]; then
set -a
# shellcheck disable=SC1091
source scripts/.env.verify
set +a
fi
# 办公机传入的 K3S_PREPARE_STORAGE 覆盖远端 .env 中的默认
export K3S_PREPARE_STORAGE='${KS_PREP}'
./scripts/deploy-lab.sh k3s
"

View File

@@ -1,4 +1,9 @@
#!/usr/bin/env bash
# 为 inventory 中 k3s 各节点配置 SSH 密钥jack + root供 Ansible 使用。
#
# 依赖OpenSSHssh、ssh-keygen、scp可选 sshpass一次输入密码模式可选 puttygen仅当在交互中选择生成 .ppk 时)。
# 默认 **不需要** PuTTY在 Linux 工作机(如 ylc65上用 ssh/ansible 即可。只有需要在 **Windows 上用 PuTTY/Pageant** 加载私钥时,
# 才在提示「是否生成 PuTTY 私钥」时选 y此时需安装 puttygenFedora: dnf install puttyDebian: apt install putty-tools
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
@@ -41,11 +46,11 @@ gen_key_if_missing() {
ssh-keygen -t ed25519 -f "$key_path" -C "k3s-cluster" -N ""
chmod 600 "$key_path" 2>/dev/null || true
# 如选择生成 PuTTY 私钥,则调用 puttygen若命令不存在则给出安装提示并退出
# 仅当用户在交互中明确选择生成 .ppkWindows PuTTY时调用 puttygenLinux 默认不生成
if [[ "${GENERATE_PUTTY_PPK:-n}" == "y" ]]; then
if ! command -v puttygen >/dev/null 2>&1; then
echo "[ERR] 已选择生成 PuTTY 私钥,但当前系统未安装 puttygen。" >&2
echo " 请先安装 puttygen 后重新运行本脚本,或在提示时选不生成 PuTTY 私钥。" >&2
echo "[ERR] 已选择生成 PuTTY 私钥.ppk,但当前系统未安装 puttygen。" >&2
echo " 请先安装 putty-tools/putty 包后重试,或在提示时选不生成PuTTY 私钥OpenSSH 默认已够用)。" >&2
echo "" >&2
echo " 常见系统安装示例:" >&2
echo " Fedora / CentOS / RHEL : sudo dnf install putty 或 sudo dnf install putty-tools" >&2
@@ -121,7 +126,6 @@ copy_key_to_host() {
print_title "K3s 节点 SSH 密钥批量配置(控制节点 + 工作节点,每节点一把密钥)"
ensure_cmd ssh-keygen
ensure_cmd ssh-copy-id
ensure_cmd ssh
# 默认显示相对路径(相对于仓库根)
@@ -130,7 +134,7 @@ INVENTORY_PATH="$(ask_default "Ansible inventory 路径(相对仓库根 ${ROOT
[[ "$INVENTORY_PATH" != /* ]] && INVENTORY_PATH="${ROOT_DIR}/${INVENTORY_PATH}"
[[ ! -f "$INVENTORY_PATH" ]] && { echo "[ERR] 找不到 inventory: $INVENTORY_PATH" >&2; exit 1; }
# 交互输入:用户名(有默认值)、密码(可选,用于后续 SSH/sudo、是否生成 PuTTY 私钥
# 交互输入:用户名(有默认值)、密码(可选,用于后续 SSH/sudo、是否额外生成 PuTTY .ppk可选默认否
echo ""
echo "--- 交互输入用户名与密码 ---"
SSH_USER="$(ask_default "SSH 登录用户名(直接回车使用默认 jack" "$SSH_USER_DEFAULT")"
@@ -174,8 +178,8 @@ if [[ -n "${JACK_PASS:-}" ]]; then
fi
fi
# 是否同时为每把新生成的 OpenSSH 密钥生成一份 PuTTY 私钥(.ppk
GENERATE_PUTTY_PPK="$(ask_default "是否为新密钥同时生成 PuTTY 私钥(.ppk(y/N)" "N")"
# 是否同时为每把新生成的 OpenSSH 密钥生成一份 PuTTY 私钥(.ppkLinux/默认回车即可
GENERATE_PUTTY_PPK="$(ask_default "是否额外生成 PuTTY 私钥(.ppk,仅 Windows PuTTY 需要Linux 用 OpenSSH 请选 N[y/N]" "N")"
GENERATE_PUTTY_PPK="${GENERATE_PUTTY_PPK,,}" # 转小写
if [[ "$GENERATE_PUTTY_PPK" == "y" ]]; then
GENERATE_PUTTY_PPK="y"

View File

@@ -1,35 +0,0 @@
#!/usr/bin/env bash
# 从办公机 Git Bash 执行SSH 到 ylc61 上跑若干样板 verify对应 docs/00-05 §2 步骤 46 的抽样)。
# 步骤 13 需已满足:远端仓库路径正确、已 deploy K3s、可选 scripts/.env.verify。
#
# 环境变量:
# VERIFY_REPO_ROOT 远端仓库根目录(默认 /home/jack/实验室建设)
# VERIFY_TEARDOWN / nginx_entry_base / nodejs_entry_base 传给远端 verify.sh
set -euo pipefail
REMOTE_ROOT="${VERIFY_REPO_ROOT:-/home/jack/实验室建设}"
TEARDOWN="${VERIFY_TEARDOWN:-1}"
NGX="${nginx_entry_base:-http://192.168.2.61}"
NODE="${nodejs_entry_base:-http://192.168.2.61}"
exec ssh -o BatchMode=yes ylc61 bash -lc "
set -euo pipefail
cd '${REMOTE_ROOT}'
chmod +x scripts/verify.sh 2>/dev/null || true
export VERIFY_TEARDOWN='${TEARDOWN}'
export nginx_entry_base='${NGX}'
export nodejs_entry_base='${NODE}'
if [[ -f scripts/.env.verify ]]; then
set -a
# shellcheck disable=SC1091
source scripts/.env.verify
set +a
fi
export VERIFY_TEARDOWN='${TEARDOWN}'
export nginx_entry_base='${NGX}'
export nodejs_entry_base='${NODE}'
./scripts/verify.sh run 02-05
./scripts/verify.sh run 03-05
./scripts/verify.sh run 03-07
./scripts/verify.sh run 04-01
"