Digital Ocean featuring Vagrant - NimeTech.com

Apr 11, 2019 DevOps

Cara Deploy droplet DigitalOcean [how to]

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

Cara Deploy Droplet DigitalOcean - NimeTech.com
Add SSH Key DigitalOcean – NimeTech.com

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

Cara Deploy Droplet DigitalOcean - NimeTech.com
Access Token Digital Ocean – NimeTech.com

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 imagesbisa kalian ubah ke regionsdan 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