Nový LXC kontejner pro každý projekt je norma — izolace, snapshot, easy restore.
Tohle je shell funkce, kterou si dám do .bashrc na Proxmox hostu.
Funkce
bash
# ~/.bashrc na Proxmox hostu
ct-new() {
local VMID="${1:?VMID required}"
local NAME="${2:?name required}"
local IP="${3:?IP/cidr required, e.g. 10.10.10.50/24}"
local CORES="${4:-2}"
local RAM="${5:-2048}"
local DISK="${6:-16}"
local TEMPLATE="local:vztmpl/ubuntu-24.04-standard_24.04-2_amd64.tar.zst"
pct create "${VMID}" "${TEMPLATE}" \
--hostname "${NAME}" \
--cores "${CORES}" \
--memory "${RAM}" \
--swap 512 \
--rootfs "local-lvm:${DISK}" \
--net0 "name=eth0,bridge=vmbr0,firewall=1,ip=${IP},gw=10.10.10.1" \
--features nesting=1,keyctl=1 \
--unprivileged 1 \
--onboot 1 \
--start 1 \
--ssh-public-keys ~/.ssh/authorized_keys
echo "[+] CT ${VMID} ${NAME} (${IP}) created"
sleep 5
pct exec "${VMID}" -- bash -c '
apt-get update -qq && \
apt-get install -yqq sudo curl wget ca-certificates unattended-upgrades && \
dpkg-reconfigure -plow unattended-upgrades
'
echo "[+] CT ${VMID} bootstrap done"
}Použití
bash
# vytvořit ai-dev (LXC 120) na 10.10.10.112, 6 cores, 24 GB RAM, 80 GB disk
ct-new 120 ai-dev 10.10.10.112/24 6 24576 80Co dělám potom
bash
# přidat na hosta do /etc/hosts
echo "10.10.10.112 ai-dev" >> /etc/hosts
# nasadit Ansible playbook
ansible-playbook -i 10.10.10.112, playbooks/baseline.ymlPro stovku kontejnerů by tohle bylo špatné. Pro 17 serverů? Pohoda, hotovo.