fatiherikli

Vagrant ile bir proje üzerinde birden fazla sanal makina çalıştırabiliyoruz. Bu da bize bir projenin mimarisini hazırlarken düzgün bir test ortamı sağlayabiliyor.

Vagrant'ı daha önceden duymadıysanız vagrantup.com adresinden inceleyip deneyebilirsiniz.

Vagrant'ın kurulumunu tamamladıktan sonra örneğe geçebilmek için bir tane base box oluşturmamız gerekiyor. Direkt olarak vagrant'ın kendi box'unu örnek olarak veriyorum.

$ vagrant box add base http://files.vagrantup.com/lucid32.box

Bu base box indirildikten sonra proje dizinimizde ya da herhangi bir dizinde Vagrantfile adında bir dosya oluşturalım. İçeriği aşağıdaki gibi olacak.

Vagrant::Config.run do |config|

  config.vm.define :proxy do |config|
    config.vm.box = "base"
    config.vm.host_name = "proxy"
    config.vm.network :hostonly, "33.33.33.10"
    config.vm.customize do |vm|
        vm.memory_size = 64
    end
  end

  config.vm.define :node1 do |config|
    config.vm.box = "base"
    config.vm.host_name = "node1"
    config.vm.network :hostonly, "33.33.33.20"
    config.vm.customize do |vm|
        vm.memory_size = 64
    end
  end

  config.vm.define :node2 do |config|
    config.vm.host_name = "node2"
    config.vm.box = "base"
    config.vm.network :hostonly, "33.33.33.21"
    config.vm.customize do |vm|
        vm.memory_size = 64
    end
  end

  config.vm.define :db do |config|
    config.vm.box = "base"
    config.vm.network :hostonly, "33.33.33.31"
    config.vm.customize do |vm|
        vm.memory_size = 128
    end
  end
end

Vagrantfile içerisinde 4 adet makina ve bunların ip'lerinin tanımlandığını görebilirsiniz; proxy, node1, node2 ve db.

Vagrantfile'ı oluşturduğunuz dizinde vagrant up diyerek makinalarınızı başlatabilirsiniz.

$ vagrant up

Aşağidaki komut ile de bir makinaya ssh ile bağlanabiliriz.

$ vagrant ssh node1

Kaynaklar

comments powered by Disqus