Introduction
Pada artikel sebelumnya saya membahas tentang AWS CLI dan juga cara deploy instance di AWS menggunakan Terraform, nah pada kesempatan kali ini saya akan mencoba menggunakannya di on premise/proxmox. Untuk pengertian mengapa kita menggunakan terraform di artikel saya yang sebelumnya sudah saya jelaskan silahkan check link dibawah ini :
Prepare
Hal-hal yang perlu disiapkan pada setup ini adalah :
- Install Terraform
- Komunikasi terraform ke proxmox menggunakan API Tokens (Create User/Pass atau secret) terlebih dahulu.
- Create Template proxmox dengan mode “Cloud init” untuk OS nya https://pve.proxmox.com/wiki/Cloud-Init_Support
- Terraform basic installation & provide installation
- Develop Variable Terraform to Proxmox
- Develop Terraform Plan
- Run Terraform Plan & Check
Proxmox yang support API Tokens adalah versi 7 keatas, dan pastikan hal2 diatas sudah anda penuhi atau siapkan sebelum melakukan lab.
Study case
Saya membutuhkan 2 VM untuk digunakan sebagai VM clustering yang akan saya implementasikan di on-premise, tentnu jika saya tidak menggunakan terraform maka hal tersebut akan sedikit agak lama jika saya melakukan installasi manual via GUI, nah pada kesempatan kali ini , kemarin saya sudah menemukan cara menggunakan tools yang bernama terraform maka dari itu saya mau mencoba nya di proxmox, dengan task sebagai berikut :
Create VM/node on Proxmox with Terraform “Infrastructure as a code”
- Create variable: with SSH Keys, Proxmox Host, Template-name -> ISO
- 2 VM
- CPU 2Core, Ram 2Gb, Hdd 10G
- network Vbmr1
- ipconfig : ip dimulai 172.26.0.91 & 92
check it out
Step 1 – Create File Terraform
Buatlah 2 file pada folder terraform kalian dengan nama variable dan main

- main tf :berisi file konfigurasi yang akan kita gunakan nantinya contoh seperti, kita akan define CPU, RAM, storage, IP dan juga instance atau node dll
- variable.tf: berisi file untuk men define SSH keys laptop kita, host proxmox dan juga templane-name ISO yang akan ktia gunakan
Step 2 – Add provider & Define user Access
Disini kita menggunakan versi provider proxmox yang tersedia atau support oleh terraform adalah v 2.7.4.
Define proxmox access dengan memasukan URLtoken id, dan secret, disini koneksi antara terraform dan proxmox menggunakan API Tokens, dan registry tersebut sudah terdaftar di Terraform Registry.
Step 3 – Define Spec for Create VM/node
Sama halnya ketika kita membuat instance di AWS, disini sayapun juga membuat instance atau VM dengan mendefine spesifikasi yang saya butuhkan.
Kemudian kita tinggal mendefine, berapa core & socket, memory dan juga jenis hardisk dan juga bootdisk.
Step 4 – Define Storage & Interface network for VM
Kita bisa input size, type hardisk yang sesuai di environment kita, kemudian pilihan untuk interfaces network yang digunakan.
Step 5 – Define IP & Add env Variable SSH
Kemudian selanjutnya kita bisa mengalokasikan IP yang akan digunakan oleh si VM itu nantinya.
i
Code lengkap dari main.tf
Step 6 – Provisioning Instance



Step 7 – Check console & Access SSH
Kita lakukan pengecekan pada console proxmox kita bahwasanya vm kita sudah tercreate atau terbuat dengan menggunakan terraform tersebut.

Dan yang terakhir kita testing akses remote via SSH


Selamat mencoba
0 Comments