Press ESC to close

Cara Menggunakan Proxmox API untuk Otomasi

WhatsAppTelegramFacebookXThreadsCopy Link

Anda ingin mengotomasi tugas di Proxmox, seperti membuat VM baru, mengelola container, atau memantau status node—tanpa harus login ke antarmuka web setiap kali? Banyak pengguna baru Proxmox merasa bingung bagaimana cara melakukan itu secara otomatis.

Padahal, Proxmox sudah menyediakan API (Application Programming Interface) yang sangat kuat untuk membantu Anda mengelola seluruh infrastruktur secara efisien. Dengan memanfaatkan API ini, Anda bisa membuat script otomatisasi, mengintegrasikan Proxmox dengan aplikasi lain, atau bahkan membangun dashboard kustom sendiri.

Dalam panduan ini, Anda akan belajar langkah demi langkah bagaimana cara:

  • Mengakses dan mengautentikasi ke Proxmox API.
  • Menggunakan token API untuk keamanan.
  • Mencoba perintah API menggunakan curl atau Python.
  • Membuat contoh sederhana otomatisasi pembuatan VM.

Apa Itu Proxmox API?

Proxmox VE API adalah antarmuka berbasis HTTP/HTTPS yang memungkinkan Anda berinteraksi langsung dengan server Proxmox melalui perintah program, bukan klik mouse.
Dengan API ini, semua fungsi yang tersedia di web interface — seperti membuat, menghapus, dan mengonfigurasi VM — dapat dilakukan lewat script.

Secara default, API bisa diakses melalui URL:

https://IP-Server:8006/api2/json

Format json berarti hasil respon dari server akan dalam format JSON, yang mudah dibaca oleh program.


1. Mengaktifkan dan Mengakses API Proxmox

API Proxmox aktif secara default, jadi Anda tidak perlu mengaktifkannya secara manual.
Namun, Anda perlu tahu cara login dan mendapatkan token akses.

Langkah-langkah:

  1. Masuk ke Web Interface Proxmox.
    Buka: https://IP-Server:8006
  2. Buat User atau Token API Baru.
    Masuk ke menu:
    Datacenter → Permissions → API Tokens
  3. Klik Add, pilih user yang ingin digunakan, lalu beri nama token.
    Anda akan mendapatkan dua informasi penting:
    • Token ID
    • Secret

Simpan kedua informasi ini dengan aman — token ini yang akan digunakan untuk autentikasi API.


2. Menguji API Menggunakan cURL

Setelah Anda memiliki token, Anda bisa mencoba memanggil API menggunakan curl (alat baris perintah untuk mengakses web API).

Contoh, untuk menampilkan daftar node di Proxmox:

curl -k -H "Authorization: PVEAPIToken=root@pam!apitest=SECRET_TOKEN" \
https://192.168.1.10:8006/api2/json/nodes

Penjelasan:

  • -k → mengabaikan verifikasi SSL (opsional, hanya untuk testing lokal).
  • Authorization → berisi token autentikasi yang Anda buat.
  • URL /api2/json/nodes → endpoint untuk daftar node di cluster Proxmox.

Jika berhasil, hasilnya akan berupa data JSON berisi nama dan status node.


3. Mengakses Proxmox API Menggunakan Python

Bagi Anda yang ingin otomatisasi lebih lanjut, Python adalah pilihan ideal.
Berikut contoh sederhana:

import requests

url = "https://192.168.1.10:8006/api2/json/nodes"
headers = {
    "Authorization": "PVEAPIToken=root@pam!apitest=SECRET_TOKEN"
}

response = requests.get(url, headers=headers, verify=False)
data = response.json()

for node in data["data"]:
    print(f"Node: {node['node']} - Status: {node['status']}")

Script ini akan menampilkan daftar node yang aktif di server Proxmox Anda.


4. Membuat Virtual Machine (VM) Otomatis via API

Salah satu contoh paling populer dari penggunaan API adalah otomatisasi pembuatan VM.
Dengan Proxmox API, Anda bisa menulis script untuk membuat VM tanpa membuka panel web.

Contoh (menggunakan curl):

curl -k -X POST -H "Authorization: PVEAPIToken=root@pam!apitest=SECRET_TOKEN" \
-d "vmid=101&name=test-vm&memory=2048&cores=2&net0=virtio,bridge=vmbr0&ide2=local:iso/debian.iso,media=cdrom" \
https://192.168.1.10:8006/api2/json/nodes/pve1/qemu

Penjelasan:

  • vmid → ID unik untuk VM baru.
  • memory dan cores → spesifikasi VM.
  • net0 → konfigurasi jaringan.
  • ide2 → menentukan file ISO yang digunakan untuk instalasi.

5. Tips Keamanan Saat Menggunakan API

Sebelum Anda menggunakan API dalam produksi, perhatikan beberapa tips penting ini:

  • Gunakan user non-root untuk API.
  • Batasi izin (permissions) hanya untuk resource yang dibutuhkan.
  • Aktifkan HTTPS valid dan hindari -k di lingkungan produksi.
  • Rotasi token API secara berkala untuk mencegah penyalahgunaan.

Anda telah memahami dasar penggunaan Proxmox API untuk otomasi — mulai dari autentikasi, pengujian, hingga pembuatan VM. Dengan menguasai API ini, Anda dapat menghemat waktu, mengurangi kesalahan manual, dan membangun sistem yang lebih efisien.

Ingin melangkah lebih jauh?
Baca juga: Panduan Mengelola Proxmox Cluster untuk Efisiensi Virtualisasi

WhatsAppTelegramFacebookXThreadsCopy Link