introduzione
Vagrant è uno strumento utilizzato per creare e configurare ambienti di sviluppo leggeri, riproducibili e portatili. In questa guida rapida, esaminiamo come eseguire il provisioning di una macchina con Vagrant su server Vultr.
Nota: in questa esercitazione si presuppone che VirtualBox e Vagrant siano già installati sul computer locale.
Installazione
Eseguire le seguenti operazioni dal terminale sul proprio computer locale:
- Installa il plugin Vagrant Vultr
vagrant plugin install vagrant-vultr
- Crea una directory per ospitare un progetto di test e inseriscilo
mkdir test_project && cd test_project
- Esegui
vagrant init
: crea un file Vagrant che conterrà le impostazioni per il provisioning server.
- Apri VagrantFile e sostituisci la riga
config.vm.box = "base"
con sotto:
Nota: sostituisci "YOUR_TOKEN" di seguito con il token di Vultr Admin -> Impostazioni -> API
config.vm.provider :vultr do |vultr, override|
override.ssh.private_key_path = '~/.ssh/id_rsa'
override.vm.box = 'vultr'
override.vm.box_url = 'https://github.com/p0deje/vagrant-vultr/raw/master/box/vultr.box'
vultr.token = 'YOUR_TOKEN' #You can also use VULTR_TOKEN environment variable
vultr.region = 'Atlanta'
vultr.plan = '768 MB RAM,15 GB SSD,1.00 TB BW'
vultr.os = 'Ubuntu 14.04 x64'
end
- Esegui
vagrant up --provider=vultr
e guarda una nuova RAM da 768 MB, un'istanza SSD da 15 GB avviata sul tuo account Vultr.
Cose da notare
- La documentazione dell'API Vultr è tua amica ... qui troverai gli endpoint che rivelano informazioni sui valori corretti da utilizzare per impostazioni come regione , piano e sistema operativo .
-
Per i piccoli progetti, probabilmente avrai un'impostazione più vicina al basso nel tuo file Vagrant in modo che l'esecuzione esegua il vagrant up loc
provisioning del tuo ambiente localmente e esegua vagrant up prod --provider=vultr
lo stesso computer su Vultr.
config.vm.define :loc do |loc_config|
loc_config.vm.box = 'bento/ubuntu-14.04'
loc_config.vm.provider "virtualbox" do |vb|
vb.customize ["modifyvm", :id, "--memory", 768]
vb.customize ["modifyvm", :id, "--cpus", 1]
end
loc_config.vm.provision "shell", inline: "echo 'export ENV=loc' >> ~/.profile", run: "always"
loc_config.vm.provision "shell", path: "./provision.sh"
end
config.vm.define :prod, autostart: false, primary: false do |prod_config|
prod_config.vm.provider :vultr do |vultr, override|
override.ssh.private_key_path = '~/.ssh/id_rsa'
override.vm.box = 'vultr'
override.vm.box_url = "https://github.com/p0deje/vagrant-vultr/raw/master/box/vultr.box"
vultr.token = 'YOUR_TOKEN' #You can also use VULTR_TOKEN environment variable
vultr.region = 'Atlanta'
vultr.plan = '768 MB RAM,15 GB SSD,1.00 TB BW'
vultr.os = 'Ubuntu 14.04 x64'
end
prod_config.vm.provision "shell", inline: "echo 'export ENV=prod' >> ~/.profile", run: "always"
prod_config.vm.provision "shell", path: "./provision.sh"
end
Conclusione
Vagrant è uno strumento che riduce notevolmente il tempo necessario per il provisioning dei server a livello locale (o sull'istanza del cloud Vultr). Può essere utilizzato per configurare rapidamente ambienti di test e di gestione temporanea sull'account cloud di Vultr.
Scritto da Lami Adabonyan