วิธีตั้งค่า Cloud-Init VM บน Proxmox VE เพื่อสร้างและกำหนดค่า VM โดยอัตโนมัติ

Published on November 11, 2025
วิธีตั้งค่า Cloud-Init VM บน Proxmox VE เพื่อสร้างและกำหนดค่า VM โดยอัตโนมัติ

Cloud-Init คืออะไร

Cloud-Init เป็นเครื่องมือมาตรฐานที่ช่วยให้ระบบสามารถตั้งค่าการเริ่มต้นของเครื่องเสมือน (Virtual Machine: VM) โดยอัตโนมัติทันทีที่ VM บูตขึ้นครั้งแรก เช่น

  • สร้าง user และ password

  • เพิ่ม SSH public key

  • ตั้งค่า hostname, IP address, DNS และ gateway

  • รัน script พิเศษตอนเริ่มต้น

บน Proxmox VE เราสามารถใช้ Cloud-Init ร่วมกับ template เพื่อสร้าง VM ใหม่ได้รวดเร็วและเป็นมาตรฐานเดียวกันทุกเครื่อง

 

แบบที่ 1 ขั้นตอนการตั้งค่า Cloud-Init บน Proxmox VE 

การสร้างเทมเพลต Proxmox cloud-init

1. เปิด Shell แล้วใช้คำสั่งนำเข้าไฟล์ Cloud Image เข้ามาด้วยการดาวน์โหลด

$ wget https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img

2. นำเข้าอิมเมจเข้าสู่ Proxmox

$ qm create 100 --name ubuntu-cloud --memory 1024--cores 2 --net0 virtio,bridge=vmbr0,tag=149
$ qm importdisk 100 noble-server-cloudimg-amd64.img local-lvm
$ qm set 100 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-100-disk-0

3. แนบไดรฟ์ cloud-init เพื่อให้ Proxmox

$ mv noble-server-cloudimg-amd64.img ubuntu-cloudinit.qcow2

4. กำหนดค่าพารามิเตอร์ cloud-init

$ qm set 100\
--ide2 local-lvm:cloudinit \
--boot c \
--bootdisk scsi0 \
--serial0 socket \
--vga serial0

 

 

 

5. เมื่อทำเสร็จแล้ว เราจะดำเนินการกำหนดค่าพารามิเตอร์ cloud-init ต่อไปได้ เหมือนขั้นตอนการตั้งค่า cloud-init  หรือสามารถใช้คำสั่งนี้จัดการได้เช่นกัน

$ qm set 100\
--ide2 local-lvm:cloudinit \
--ipconfig0 ip=192.168.1.50/24,gw=192.168.1.1 \
--ciuser=ubuntu \
--sshkey ~/.ssh/id_rsa.pub \
--cipassword 'Letmein1$' \
--searchdomain cloud.local \
--nameserver 192.168.1.1 \
--ciupgrade 1

หรือหากคุณต้องการกำหนดค่าด้วย DHCP ก็จะมีลักษณะดังนี้:

$ qm set 100\
--ide2 local-lvm:cloudinit \
--ipconfig0 ip=dhcp \
--ciuser=ubuntu \
--sshkey ~/.ssh/id_rsa.pub \
--cipassword 'Letmein1$' \
--searchdomain cloud.local \
--nameserver 192.168.1.1 \
--ciupgrade 1

 

7.  ติดตั้ง guest-agent ด้วยคำสั่ง

$ sudo apt install qemu-guest-agent -y

 

8. จัดการติดตั้ง software ที่ต้องการให้ครบ จากนั้นทำแปลง VM เป็นเทมเพลต

$ qm template 100

 

 

 

9. ตอนนี้คุณมีเทมเพลต Proxmox cloud-init ที่สามารถโคลนสำหรับ VM ใหม่ได้

สำหรับการปรับใช้ VM ใหม่จากเทมเพลต กรณีคุณไม่ได้โคลนจาก UI เว็บ คุณสามารถใช้บรรทัดคำสั่งเพื่อดำเนินการนี้ได้เช่นกัน ตัวอย่างเช่น:

$ qm clone 100  200--name ubuntu-node1 --full
$ qm set 200--ipconfig0 ip=192.168.1.51/24,gw=192.168.1.1
$ qm start 200

 

 

 

 

 

แบบที่ 2 ขั้นตอนการตั้งค่า Cloud-Init บน Proxmox VE (UI)

1. สร้าง VM Template สำหรับ Cloud-Init เข้าสู่หน้าเว็บของ Proxmox  กด Create VM

2. ตั้งชื่อ VM เช่น ubuntu-cloudinit-template

3. แท็ป OS ให้เลือก Donot use any media

4. แท็ป  System กำหนด machine = q35 bios= uefi  และกำหนด EFI storage , format = qcow2 และเลือก qemu agent

5. แท็ป   disks  ไม่ต้องใช้ ลบได้เลย

6. กำหนด CPU

7. กำหนด Ram

8. กำหนด Network  ** ไม่เลือก Firewall

10. กด Finish

9.  ทำการลบ DVD ออกจาก VM (หน้า Hardware)

10. ไปที่เมนู Hardware ทำการเพิ่ม cloud-init เข้าไป

12. เปิด Shell แล้วใช้คำสั่งนำเข้าไฟล์ Cloud Image เข้ามาด้วยการดาวน์โหลด

$ wget https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img

 

 

13. ตรวจสอบไฟล์

$ ls

 

14. คำสั่งเปลี่ยนชื่อไฟล์

$ mv noble-server-cloudimg-amd64.img ubuntu-cloudinit.qcow2

 

15. ทำ Image resized

$ qemu-img resize ubuntu-cloudinit.qcow2 32G

 

 

16. importdisk

$ qm importdisk 8000 ubuntu-cloudinit.qcow2 local

 

$ qm set 8000 --serial0 socket --vga serial0

 

เท่านี้ก็เสร็จเรียบร้อย

 

17. กลับไปที่ VM Cloud-init  จะเจอ Unusde disk 0 เลือก Edit เลือก Discard, เลือกSSD Emulation กด Add

 

 

18. ตั้งค่า cloud-init จะพบช่องสำหรับกรอกค่าพื้นฐาน เช่น

  • User Name : ชื่อผู้ใช้หลัก เช่น root หรือ admin
  • Password
  • SSH Public Key
  • IP Configuration : ตั้งค่า Static IP หรือเลือก DHCP
  • DNS Server / Gateway

 

 

18 .  ติดตั้ง guest-agent ด้วยคำสั่ง

$ sudo apt install qemu-guest-agent -y

 

19. จัดการติดตั้ง software ที่ต้องการให้ครบ จากนั้นทำแปลง VM เป็นเทมเพลต

20. เลือก VM cloud-init แล้วเลือก Convert to template

 

 

 

21. ทำการ Clone VM template cloud-init สามารถนำไปสร้าง VM ใหม่ได้ทันที โดย

  • คลิกขวา Clone  เลือก “Full Clone” หรือ “Linked Clone”

  • กำหนดชื่อและ Node ที่ต้องการ

  • ระบบจะสร้าง VM ใหม่พร้อมค่าทั้งหมดจาก Cloud-Init

 

 

 

 

22. เมื่อ Clone  VM  สำเร็จ ให้ไปที่ VM นั้น เลือกเมนู Options > Boor order ทำการเลือก disk

 

 

23. สั่ง Start VM ได้เลย

 

 

–  เรียบร้อย เท่านี้ก้อใช้งานได้

 

ประโยชน์ของการใช้ Cloud-Init

  • ลดเวลาการติดตั้งและตั้งค่า VM ใหม่
  • สร้างหลายเครื่องได้รวดเร็วและมีมาตรฐานเดียวกัน
  • สามารถรวมกับ Automation Tools เช่น Ansible, Terraform ได้
  • ปลอดภัยกว่า เพราะสามารถใช้ SSH Key แทนรหัสผ่าน

 

การตั้งค่า Cloud-Init บน Proxmox VE เป็นขั้นตอนสำคัญสำหรับผู้ดูแลระบบที่ต้องการความรวดเร็วและความยืดหยุ่นในการ Deploy VM แบบอัตโนมัติ เพียงสร้าง Template ที่รองรับ Cloud-Init หนึ่งชุด ก็สามารถสร้าง VM ใหม่ได้ในไม่กี่คลิก ประหยัดทั้งเวลาและแรงงานในการดูแลระบบ

 

บริษัท AVESTA ให้บริการติดตั้ง จำน่าย Proxmox VE และพัฒนาระบบ AVT Infra Control Center for Proxmox VE เราเป็นตัวแทนตรง และ ได้รับการไว้วางใจ ให้ติดตั้งกับบริษัทน้อยใหญ่มากมาย สนใจสอบถาม Line OA : @avesta.co.th หรือ Email : [email protected]

ทำความรู้จักกับ Open vSwitch

วันนี้เราจะพาท่านไปทำความรู้จักกับ Open vSwitch หนึ่งในโปรเจ็กต์ซอฟต์แวร์ ที่เป็นองค์ประกอบหรือว่า จิ๊กซอว์สำคัญในการทำ Software Defined Networking (SDN)...

Read more »

Ruijie Virtual Switching Unit VSU

Virtual Switching Unit หรือ VSU เป็นเทคโนโลยีที่ทำให้เราสามารถรวม switch ตั้งแต่ 2 ตัวขึ้นไป...

Read more »

Big Improvements in FreeBSD 15.0

FreeBSD มีต้นกำเนิดมาจาก ระบบปฏิบัติการ UNIX ของมหาวิทยาลัย UC Berkeley โดยเ BSD ก็ย่อมาจาก...

Read more »

ทำความรู้จัก pgModeler และการติดตั้งบน Ubuntu 25.04

เนื่องจากการได้รับนิยมอย่างสูงของ PostgreSQL ทำให้ นักพัฒนาหลายคน ก็จะมองหาเครื่องมือที่จะมาช่วยให้การทำงานกับฐานข้อมูลนั้นง่าย เร็ว และ สะดวกขึ้น วันนี้เราพาไปดูเครื่องมือตัวหนึ่งที่ได้รับความนิยมใช้อย่างกว้างขวาง และ...

Read more »

ทำความรู้จักกับ Open Container Initiative OCI

ใน Proxmox VE 9.1 ที่เพิ่งเปิดตัวมาได้ไม่นานนี้ มีฟีเจอร์หนึ่งที่สร้างความฮือฮามากคือ การสนับสนุน OCI และ ทำให้หลายคนเริ่มต้องการเข้าใจว่ามันคืออะไร...

Read more »

IncusOS และ Incus สู่ยุคใหม่ของการจัดการ VM และ Container

IncusOS คืออะไร IncusOS เป็นดิสโทร Linux แบบ immutable หรือ Linux ที่ระบบไฟล์เปลี่ยนไม่ได้...

Read more »