Masdika Loading..
Masdika.ID

DevOps Engineer

Cloud Engineer

System Administrator

  • Home
  • Portfolio
  • Services
  • Resume
  • Skills
  • Blog
  • Contact
Masdika.ID

DevOps Engineer

Cloud Engineer

System Administrator

Download CV

Recent Posts

  • Dari Laptop Bekas Jadi Server Pribadi: Cara Membangun Home Server Murah Menggunakan ISP MyRepublic dengan Public IP
  • Pembuatan Subnet dan Alokasi IP Address pada Amazon Web Service VPC
  • Instalasi dan Konfigurasi AWS CLI pada EC2 (Lab Guide)
  • Membangun Arsitektur Web + Database Highly Available di AWS (RDS Multi-AZ)
  • Cara Reset Password OpenBSD di Proxmox via VNC

Recent Comments

  1. Alif on Jangan Gunakan latest Tag pada Docker Images! Ini Alasannya
  2. Sahrull on Panduan Lengkap Anti-DDoS: Installasi Iptables, Hardening, dan Cloudflare Proxy
  3. VSTRA on Cara Cerdas Menguasai Kubernetes (K8s): Panduan Lengkap Orkestrasi Kontainer untuk Developer Modern
  4. Rikiy on Cara Mudah Deploy Website Node.js Menggunakan Docker
  5. Masdika.BIZ.ID on Disaster Recovery Cluster (DRC) WordPress dengan MariaDB Galera dan Load Balancer Caddy

Categories

  • Tutorial

Masdika.ID

  • About
  • Terms & Conditions
  • Privacy Policy
BLOG POST

Panduan Lengkap Cloud-Init Ubuntu di Proxmox (Production Ready)

December 31, 2025 Tutorial by Masdika.ID
Panduan Lengkap Cloud-Init Ubuntu di Proxmox (Production Ready)

Kalau kamu sudah cukup lama pakai Proxmox, biasanya akan sampai di satu fase: bikin VM itu kok masih ribet dan berulang. Install OS, set user, atur network, pasang SSH key, install agent… itu semua capek kalau dilakukan berkali-kali πŸ˜΅β€πŸ’«

Di sinilah Cloud-Init jadi penyelamat.

Artikel ini membahas cara membangun template Cloud-Init Ubuntu di Proxmox dari nol, dengan pendekatan production-ready, bukan sekadar β€œbisa boot”. Cocok untuk server produksi, lab serius, maupun fondasi VPS hosting.

☁️ Apa Itu Cloud-Init?

Cloud-Init adalah sistem otomatisasi yang dijalankan saat boot pertama VM.

Dengan Cloud-Init, kita bisa:

  • Membuat user otomatis
  • Inject SSH key
  • Mengatur network
  • Menentukan hostname
  • Menjalankan perintah awal

Artinya, VM dinyalakan β†’ langsung siap dipakai, tanpa login manual.

πŸ€” Kenapa Cloud-Init Penting di Proxmox?

Tanpa Cloud-Init:

  • Banyak konfigurasi manual
  • Rentan salah set
  • Tidak konsisten antar VM
  • Sulit di-scale

Dengan Cloud-Init:

  • Template dibuat sekali
  • VM bisa di-clone berkali-kali
  • Semua VM konsisten
  • Cocok untuk environment produksi

Kalau kamu serius pakai Proxmox, Cloud-Init itu wajib, bukan fitur opsional.

πŸ—οΈ Desain Template (Best Practice Produksi)

Template yang kita buat mengikuti prinsip berikut:

  • βœ… Menggunakan Ubuntu Cloud Image (bukan ISO installer)
  • βœ… Network vmbr1 + DHCP
  • βœ… User ditentukan saat clone, bukan di template
  • βœ… Akses SSH key only (tanpa password login)
  • βœ… QEMU Guest Agent sudah terpasang
  • βœ… Aman untuk snapshot dan backup

Ini adalah desain yang umum dipakai di lingkungan produksi dan hosting.

⚠️ Kesalahan Umum yang Harus Dihindari

Banyak kegagalan Cloud-Init disebabkan oleh:

  • Pakai ISO installer biasa
  • Login manual ke template
  • Mengunci user di template
  • Lupa install QEMU Guest Agent
  • Template sudah dipakai produksi lalu dijadikan template

Ingat: template harus selalu bersih dan belum pernah dipakai produksi.

πŸ“¦ Step 1 – Download Ubuntu Cloud Image

Masuk ke node Proxmox:

cd /var/lib/vz/template/iso
wget https://cloud-images.ubuntu.com/releases/25.10/release/ubuntu-25.10-server-cloudimg-amd64.img

Gunakan cloud image, karena sudah dioptimasi untuk virtual machine dan Cloud-Init.

🧱 Step 2 – Buat VM Dasar

Contoh menggunakan VMID 112:

qm create 112 \
  --name ubuntu-25.10-cloudinit-prod \
  --memory 2048 \
  --cores 2 \
  --cpu host \
  --net0 virtio,bridge=vmbr1 \
  --scsihw virtio-scsi-single \
  --agent enabled=1 \
  --serial0 socket \
  --vga serial0

Konfigurasi ini memastikan performa optimal dan kompatibel dengan Cloud-Init.

πŸ’Ύ Step 3 – Import Disk Cloud Image

qm importdisk 112 ubuntu-25.10-server-cloudimg-amd64.img local-lvm
qm set 112 --scsi0 local-lvm:vm-112-disk-0
qm set 112 --boot order=scsi0

☁️ Step 4 – Tambahkan Cloud-Init Drive

qm set 112 --ide2 local-lvm:cloudinit

Tanpa Cloud-Init drive, konfigurasi otomatis tidak akan berjalan.

🌐 Step 5 – Konfigurasi Network (vmbr1 + DHCP)

qm set 112 --ipconfig0 ip=dhcp
qm set 112 --nameserver 1.1.1.1

DHCP dipilih karena simpel, minim error, dan cocok untuk kebanyakan skenario produksi.

πŸ”‘ Step 6 – SSH Bootstrap (Sementara)

Kita butuh akses sekali untuk install QEMU Guest Agent:

qm set 112 \
  --ciuser bootstrap \
  --sshkeys ~/.ssh/id_rsa.pub

User bootstrap hanya dipakai sementara dan tidak digunakan oleh VM hasil clone.

▢️ Step 7 – Boot VM

qm start 112

Tunggu sekitar 30–60 detik hingga VM siap.

πŸ” Step 8 – Login ke VM (Cara yang Benar)

Pertama kalian set dulu password vm di cloud init nya, Login menggunakan SSH/VNC proxmox:

Ubuntu cloud image terbaru tidak mengizinkan login tanpa password secara default, ini adalah fitur keamanan. Jadi harus di set dulu password nya.

🧩 Step 9 – Install QEMU Guest Agent

Di dalam VM:

sudo -i
apt update
apt install -y qemu-guest-agent
systemctl enable --now qemu-guest-agent

Cek status:

systemctl status qemu-guest-agent

Pastikan status active (running).

QEMU Guest Agent penting untuk:

  • Shutdown yang halus
  • Snapshot & backup konsisten
  • Deteksi IP otomatis di Proxmox

🧹 Step 10 – Bersihkan Cloud-Init State

cloud-init clean
shutdown now

Ini memastikan VM hasil clone nanti dianggap sebagai VM baru.

🧱 Step 11 – Jadikan Template

Di host Proxmox:

qm template 112

Template Cloud-Init siap digunakan.

πŸš€ Cara Menggunakan Template

  1. Clone template
  2. Masuk menu Cloud-Init pada VM hasil clone
  3. Isi:
    • User (misalnya admin)
    • SSH Public Key
  4. Start VM
  5. Login via SSH tanpa password

Setiap VM bisa memiliki user berbeda dari template yang sama.

βœ… Checklist Akhir

  • Cloud-Init aktif
  • Network vmbr1 + DHCP berjalan
  • User fleksibel per VM
  • SSH key only
  • QEMU Guest Agent aktif
  • Aman untuk backup dan snapshot

🧠 Kesimpulan

Cloud-Init adalah fondasi penting untuk penggunaan Proxmox secara serius. Dengan template yang dirancang dengan benar:

  • Deployment VM menjadi jauh lebih cepat πŸš€
  • Konfigurasi konsisten dan minim human error
  • Skalabilitas lebih mudah untuk produksi maupun hosting

Jika kamu sering membuat atau mengelola banyak VM, Cloud-Init bukan lagi opsional, tapi keharusan. Template yang rapi sejak awal akan menghemat banyak waktu dan tenaga di kemudian hari.

Selamat, Proxmox kamu sekarang sudah naik level πŸ”₯

Share:
Tags: cloud initlinuxproxmoxubuntu
Related Posts
Cara Reset Password OpenBSD di Proxmox via VNC

Kalau kamu lupa password OpenBSD di VM Proxmox, kamu tidak perlu reinstall. Cukup masuk lewat VNC console dan reset dari…

Panduan Download ISO dan Aktivasi Red Hat No-Cost

Panduan ini menjelaskan cara mendapatkan Red Hat Enterprise Linux (RHEL) secara gratis (resmi) menggunakan Developer Subscription, mulai dari download ISO…

Post navigation

Prev
Next
Β© 2025 www.masdika.id β€” Semua hak cipta dilindungi