0 环境约定
• PVE 8.2 / Debian 12 基础模板
• 节点已启用 ZFS(RAID-1 SSD)
• 管理网段 192.168.10.0/24,网关 192.168.10.1
• 所有命令均以 root 身份在节点 Shell 执行
1 模板准备
# 更新模板索引
pveam update
# 下载 Debian 12 标准模板(200 MB 左右)
pveam download local debian-12-standard_12.0-1_amd64.tar.zst
# 验证 SHA256
sha256sum /var/lib/vz/template/cache/debian-12-standard_12.0-1_amd64.tar.zst
# 输出应与官网一致,否则重下2 创建脚本化:7 张配置卡逐项拆解
下面给出 CLI 等价参数,方便后续批量。Web 向导与命令行一一对应,可混合使用。
一键命令示例(含注释):
pct create 120 \
--hostname ct-gitlab.home.arpa \
--storage local-zfs \
--rootfs 20 \
--cores 2 \
--memory 2048 \
--swap 4096 \
--net0 name=eth0,bridge=vmbr0,ip=192.168.10.120/24,gw=192.168.10.1 \
--nameserver 192.168.10.1 \
--searchdomain home.arpa \
--unprivileged 0 \
--features nesting=1 \
--ostemplate local:vztmpl/debian-12-standard_12.0-1_amd64.tar.zs3 启动后 30 秒自检清单
# 1. 容器内系统版本
pct enter 120 -- cat /etc/os-release | grep PRETTY
# 2. 网络连通
pct enter 120 -- ping -c 3 192.168.10.1
# 3. DNS 解析
pct enter 120 -- dig +short github.com
# 4. 磁盘剩余
pct enter 120 -- df -h /
# 5. 特权状态(CapEff 全 f 表示特权)
pct enter 120 -- grep CapEff /proc/self/status4 常见回滚场景
5 小结
• 主机名、DNS、静态 IP 是最容易被忽视却最影响后期自动化的三要素
• 磁盘 20 GB 起步、特权开关 + nesting 一步到位,能节省 80% 后续排障时间
• CLI 参数与 Web 向导 100 % 对应,写好模板后可批量
for i in {121..125}; do pct create $i ...; done快速生成同规格容器集群
把以上命令保存为 create_ct.sh,下次再开新容器只需改 3 个变量,真正的“ Infrastructure as Code ”从这一步开始。