# Proxmox 建立 Cloud init Template
# 甚麼是 Cloud Init Template
是一種 PVE 特殊配置文件,主要用在 PVE 自動化 VM 與初始化過程,Cloud init 是一個開源專案,允許使用者透過簡單的文件配置來配置 VM/LXC 的各種參數,如網路、SSH Key 等。
# 自製 Cloud init Template
# 下載 Ubuntu Base Image
到 PVE 節點主機
1
| wget https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img
|
# 安裝 Package
1 2 3 4
| # 安裝相關 Tools sudo apt update -y && sudo apt install libguestfs-tools -y # 安裝 QEMU Guest Agent sudo virt-customize -a focal-server-cloudimg-amd64.img --install qemu-guest-agent
|
# 建立 Cloud init 基底
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| # 建立 VM_ID 9000 4 cores 8G net vmbr1 template sudo qm create 9000 --name "ubuntu-2204-cloudinit-template" --memory 8192 --cores 4 --net0 virtio,bridge=vmbr1 # 把剛剛下載的 Image 給這台 9000 機器 並且儲存在 share-nas sudo qm importdisk 9000 focal-server-cloudimg-amd64.img share-nas # VM 配置 SCSI 硬碟 sudo qm set 9000 --scsihw virtio-scsi-pci --scsi0 share-nas:9000/vm-9000-disk-0.raw # 設置開機硬碟 sudo qm set 9000 --boot c --bootdisk scsi0 # 設置 Cloud init 產生 ISO sudo qm set 9000 --ide2 share-nas:cloudinit # 設置 Serial Port sudo qm set 9000 --serial0 socket --vga serial0 # 啟用 Agent sudo qm set 9000 --agent enabled=1 # 轉換成 Template sudo qm template 9000
|
1 2 3 4 5 6 7 8 9
| wget https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img apt install guestfs-tools virt-customize -a jammy-server-cloudimg-amd64.img --install qemu-guest-agent qm create 8000 --name ci-template --memory 8192 --net0 virtio,bridge=vmbr1 --scsihw virtio-scsi-pci qm set 8000 --scsi0 share-nas:0,import-from=/root/jammy-server-cloudimg-amd64.img qm set 8000 --ide2 share-nas:cloudinit qm set 8000 --boot order=scsi0 qm set 8000 --serial0 socket --vga serial0 qm template 8000
|
# 複製 Template 成為 VM
1
| sudo qm clone 9000 999 --name test-clone-cloud-init
|
# Reference
- How to create a Proxmox Ubuntu cloud-init image