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. 192.168.1.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=192.168.1.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 dev server (LXC 130) na 192.168.1.50, 6 cores, 24 GB RAM, 80 GB disk
ct-new 130 dev-box 192.168.1.50/24 6 24576 80Co dělám potom
bash
# přidat na hosta do /etc/hosts
echo "192.168.1.50 dev-box" >> /etc/hosts
# nasadit Ansible playbook
ansible-playbook -i 192.168.1.50, playbooks/baseline.ymlPro stovku kontejnerů by tohle bylo špatné. Pro 17 serverů? Pohoda, hotovo.