Beranda

DevOps

Otomasi Infrastruktur: Bash Scripting un...

Otomasi Infrastruktur: Bash Scripting untuk Manajemen VM Ubu...

Otomasi Infrastruktur: Bash Scripting untuk Manajemen VM Ubuntu Cloud-Init di Proxmox

Mengotomatisasi siklus hidup Virtual Machine adalah kunci efisiensi dalam pengelolaan infrastruktur. Panduan ini menyediakan script Bash lengkap untuk Proxmox VE, yang dapat secara otomatis membuat (cloning) dan menghapus VM Ubuntu 24.04 berbasis Cloud-Init, memungkinkan deployment yang cepat dan konsisten dengan parameter yang dapat disesuaikan.

Screenshot 2025-10-31 at 13.40.57

Kekuatan Bash dan Cloud-Init

 

Dalam lingkungan hypervisor seperti Proxmox Virtual Environment (VE), kebutuhan untuk dengan cepat menyediakan (provision) dan menghapus lingkungan pengujian (testing environments) atau server produksi sementara sering muncul. Melakukan langkah-langkah ini secara manual melalui antarmuka web (GUI) Proxmox akan memakan waktu dan rentan terhadap kesalahan (human error).

Solusinya adalah mengintegrasikan dua alat kuat:

  1. Bash Scripting: Memberikan logika otomatisasi dan eksekusi berurutan dari perintah command-line Proxmox (qm).

  2. Cloud-Init: Memungkinkan kustomisasi VM pada boot pertama (pengaturan hostname, IP, SSH Key, dll.) tanpa interaksi pengguna.

Script yang akan kita buat ini tidak hanya akan membuat VM, tetapi juga akan memperluas disk secara otomatis, mengatur IP Statis, dan mengimpor SSH Key—semua hanya dengan menjalankan satu baris perintah.


 

Pilar 1: Prasyarat dan Persiapan Template Cloud-Init

 

Script ini mengasumsikan Anda telah melakukan langkah-langkah dasar pembuatan template yang dijelaskan dalam panduan sebelumnya.

 

1.1 Prasyarat Utama

 

Pastikan hal-hal berikut sudah tersedia di Proxmox VE Anda:

  1. Template VM Cloud-Init (Wajib): Anda harus sudah memiliki Template VM yang sudah dikonversi (misalnya, ID: 9000) dan dibuat dari Ubuntu 24.04 Cloud Image.

  2. VM ID yang Tersedia: Rentang ID VM yang akan digunakan (misalnya, 101 hingga 199).

  3. Storage Name: Nama Storage tempat template dan disk baru akan disimpan (misalnya, local-lvm).

 

1.2 Struktur Script Utama

 

Kita akan membuat script yang fleksibel, yang dapat dipanggil dengan argumen (misalnya, create atau delete).

Nama File: vm-manager.sh

Bash 
#!/bin/bash
# --- VARIBEL GLOBAL ---
TEMPLATE_ID=9000
BASE_IMAGE_STORAGE="local-lvm"
NETWORK_BRIDGE="vmbr0"
BASE_IP="192.168.1.100" # IP awal untuk VM yang akan dibuat
GATEWAY_IP="192.168.1.1" # Gateway jaringan Anda
SSH_KEY_FILE="/root/.ssh/id_rsa.pub" # Pastikan file ini ada
DEFAULT_USER="ubuntu"
# --- Fungsi Bantuan UI/UX ---
log_info() {
    echo -e "n

Post Terkait

Membangun Frontend Vendor-Agnostic yang Tahan Perubahan

Artikel ini membahas pendekatan arsitektur frontend yang berfokus pada kontrak internal agar aplikasi web tetap stabil,...

29 Jan 2026

CI/CD: Continuous Integration dan Continuous Deployment untuk Developer Modern

Membahas konsep CI/CD (Continuous Integration/Continuous Deployment) dengan fokus pada implementasi praktis dan real-wor...

17 Jan 2026

Sentry.io: Platform Error Monitoring untuk Developer Modern

Artikel ini membahas Sentry.io sebagai platform error monitoring dan performance tracking untuk aplikasi modern dengan f...

17 Jan 2026

© 2026 Yowisben. Semua hak dilindungi.

Powered by LONTAR CMS v1.26.1