Beranda

DevOps

Otomasi Infrastruktur: Bash Scripting un...

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
79 dibaca
Belum ada penilaian

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

Strategi Rollback & Zero-Downtime Deployment: Rilis Tanpa Bikin Situs Mati

Cepat atau lambat, sebuah rilis pasti bermasalah. Pelajari zero-downtime deployment (blue-green, canary, rolling) agar s...

20 Agt 2026

Menyiapkan Pipeline CI/CD Pertama Anda: Otomatiskan Build, Tes, dan Deploy

Semua pemeriksaan sebelum rilis tak perlu dilakukan manual. Pipeline CI/CD mengotomatiskan build, tes, dan penayangan se...

20 Agt 2026

Apa yang Perlu Diperiksa Sebelum Naik ke Produksi: Checklist Lengkap Go Live

Naik ke produksi seharusnya pos pemeriksaan, bukan sekadar satu klik. Checklist lengkap ini merangkum apa yang perlu dip...

20 Agt 2026

© 2026 Yowisben. Semua hak dilindungi.

Powered by LONTAR CMS v1.71.0