環境
構築手順
- ホストの更新
// update host apt-get update -y && apt-get upgrade -y && apt autoremove -y apt install libguestfs-tools -y apt install build-essential -y
libguestfs-tools
はディスクイメージの直接編集が可能になる
cloud-init
の設定がイメージに入れたい時に使用する.3つ目の手順で利用するvirt-customizeをパッケージに含んでいる. - ベースイメージのダウンロード(ubuntu22.04)
// downloading base image wget https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img
- イメージのカスタマイズ
ssh-keygen -t ecdsa -b 521 -C "{guest name}" // guest settings virt-customize -a jammy-server-cloudimg-amd64.img --run-command 'useradd {guest name}' virt-customize -a jammy-server-cloudimg-amd64.img --run-command 'mkdir -p /home/{guest name}/.ssh' virt-customize -a jammy-server-cloudimg-amd64.img --ssh-inject {guest name}:file:/home/{guest name}/.ssh/id_ecdsa.pub virt-customize -a jammy-server-cloudimg-amd64.img --run-command 'chown -R {guest name}:{guest name} /home/{guest name}'
virt-customizeを利用して,VMで使用するguest userの作成とsshの設定
- Proxmoxのイメージ設定
qm command// Proxmox image settings qm create 100 --name "ubuntu-2204-cloudinit-template" --memory 2048 --cores 2 --net0 virtio,bridge=vmbr0 qm importdisk 100 jammy-server-cloudimg-amd64.img local-lvm qm set 100 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-100-disk-0 qm set 100 --boot c --bootdisk scsi0 qm disk resize 100 scsi0 30G qm set 100 --ide2 local-lvm:cloudinit qm set 100 --serial0 socket --vga serial0 qm set 100 --agent enabled=1
適宜スペック(core, memory, disk size)やID(100),ディスクの指定(local-lvm)は変更が必要
- Proxmoxのテンプレートイメージ作成と起動
// Proxmox Template image create qm clone 100 1000 --name ubuntu2204-build-test --full qm set 1000 --sshkeys ~/.ssh/id_ecdsa.pub qm set 1000 --ipconfig0 ip=192.168.1.10/24,gw=192.168.1.1 qm start 1000
参考