Pada panduan sebelumnya telah di bahas terkait Cara Install Vagrant dan pada panduan kali ini akan membahas bagaimana cara deploy droplet DigitalOcean dengan menggunakan Vagrant. Bagi kalian pengguna VPS atau kalangan SysAdmin atau DevOps atau Developer sudah tak asing lagi tentunya dengan penyedia VPS/VM terkenal DigitalOcean ini,
Untuk membuat droplet di DigitalOcean ini tentunya kita harus login ke akun yang ada di DigitalOcean terlebih dahulu kemudian Create > Droplet jika menggunakan cara klik mungkin akan sedikit lama karena perlu menunggu loading setiap membuka page pada DigitalOcean. Dengan menggunakan Vagrant bagi kalian yang ingin membuat droplet di DigitalOcean bisa dengan mudah tanpa perlu klik dan menunggu loading setiap akses pagenya.
Cara Deploy Droplet DigitalOcean dengan Vagrant
Sebelum melakukan deploy droplet di DigitalOcean dengan Vagrant ada requirement plugin yang di butuhkan dari sisi Vagrant agar dapat menjalankan deploy droplet dengan Vagrant. Plugin ini nantinya yang menjadi penghubung atau agent antara Vagrant dan DigitalOcean.
Untuk install plugin DigitalOcean untuk Vagrant jalankan command :
vagrant plugin install vagrant-digitalocean
Setelah menginstall pluginnya, selanjutnya perlu menambahkan Box DigitalOcean di Vagrantnya dengan command :
vagrant box add digital_ocean https://github.com/smdahlen/vagrant-digitalocean/raw/master/box/digital_ocean.box
Ketika plugin dan box DigitalOcean terinstall pada Vagrant lalu buat folder project untuk membuat vagrant box DigitalOcean yang berisi Vagrantfile untuk konfigurasi deploy Droplet ke DigitalOcean
mkdir -p ~/vagrant/digitalocean/centos
Sebelumnya jangan lupa juga untuk membuat SSH Key yang nantinya digunakan untuk membuat authentikasi pada akses SSHnya
ssh-keygen -t rsa
Jika sudah selesai membuat SSH Key berikutnya masukan SSH Key tersebut ke DigitalOcean untuk authentikasi akses SSHnya nanti.
cat ~/.ssh/id_rsa.pub
Dan nanti akan muncul output seperti berikut ini
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCa5h1WNdzX4VXY+Mcgck78MSR73DKO0gb6Ix524pbzVFPq/....d9llWWcd69W4DMHoXGExJ0Kw== a*******@gmail.com
Copykan output yang seperti diatas untuk di masukan ke DigitalOcean pada Account > Security > SSH Key > Add SSH Key
Selain membuat SSH Key untuk authentikasi aksesnya kalian juga harus membuat Access Token untuk keperluan penggunaan API dari DigitalOcean saat deploy droplet. Untuk membuat Access Token silakan ke menu Manage > API > Generate Token
Silakan copy dahulu Access Token yang muncul tersebut yang mana nanti akan digunakan pada konfigurasi Vagrantfile. Jika sudah selesai menambahkan SSH Key dan membuat Access Token di DigitalOcean, langkah selanjutnya membuat initialize Vagrantfile dengan menggunakan command
vagrant init
Ketika Vagrantfile sudah terbuat edit Vagrantfile dan ubah menjadi seperti berikut ini
Vagrant.configure("2") do |config| config.vm.define "droplet1" do |config| config.vm.provider :digital_ocean do |provider, override| override.ssh.private_key_path = "~/.ssh/id_rsa" override.vm.box = "digital_ocean" override.vm.box_url = "https://github.com/devopsgroup-io/vagrant-digitalocean/raw/master/box/digital_ocean.box" override.nfs.functional = false provider.token = "ACCESS TOKEN DIGITAL OCEAN" provider.image = "centos-7-x64" provider.region = "sgp1" provider.size = "1gb" end end end
Untuk melihat opsi pilihak provider.image
, provider.region
, dan provider.size
kalian bisa jalankan command berikut ini :
vagrant digitalocean-list images ACCESS_TOKEN_DIGITAL_OCEAN
Note :
untuk dibagian images
bisa kalian ubah ke regions
dan sizes
untuk melihat opsi lain dari image atau O.S, regions atau lokasi VPS/VM, sizes atau volume VPS/VM.
Langkah terakhir jika semua konfigurasi telah dilakukan seperti panduan diatas maka untuk memulai deploy droplet Digital Ocean cukup jalankan command :
vagrant up --provider=digital_ocean
Yang mana nanti akan muncul output kurang lebih seperti berikut ini :
geekid@geekid:~/Github/nimetech/digitalocean/centos$ vagrant up --provider=digital_ocean Bringing machine 'nimetech' up with 'digital_ocean' provider... ==> nimetech: Using existing SSH key: Vagrant ==> nimetech: Creating a new droplet... ==> nimetech: Assigned IP address: 128.xxx.xxx.xxx ==> nimetech: Modifying sudoers file to remove tty requirement... ==> nimetech: Rsyncing folder: /home/geekid/Github/nimetech/digitalocean/centos/ => /vagrant
Kalau output yang muncul di kalian seperti output diatas artinya kalian sudah sukses melakukan deploy droplet dengan Vagrant. Untuk dokuemntasi lainnya dan sub command vagrant terkait droplet di DigitalOcean bisa kalian di Github Vagrant DigitalOcean
Kesimpulan
Dengan memanfaatkan tools Vagrant untuk melakukan deploy Droplet di DigitalOcean seperti pada panduan diatas memberikan kita kemudahan dalam melakukan manage ketika ini membuat droplet baru dan efisiensi karena tidak perlu melakukan klik ke menu-menu yang ada di DigitalOcean untuk membuat droplet. Cukup dengan membuat 1 file konfigurasi Vagrantfile kalian sudah bisa membuat banyak droplet yang kalian inginkan.
Kami NimeTech.com menggunakan tools ini untuk memberikan kemudahan dalam melakukan jasa manage server