Несколько машин из одного и того же Vagrantfile

#vagrant

#vagrant

Вопрос:

Я разработал продукт с архитектурой master slave. Итак, я должен настроить несколько машин для slave в vagrant. Но на самом деле эти машины не отличаются от других. Все подчиненные устройства будут одинаково сконфигурированы, но разделены машинами.

Итак, я думаю, мне следует написать один Vagrantfile и выполнить сборку десять раз или сколько я захочу.

Как я могу этого добиться?

Спасибо и с наилучшими пожеланиями..

Ответ №1:

Vagrantfile — это скрипт на ruby, поэтому вы можете запускать цикл для создания столько подчиненных устройств, сколько вам нужно.

Следуйте советам из документации

 (1..3).each do |i|
  config.vm.define "slave-#{i}" do |slave|
    slave.vm.network "private_network", ip: "192.168.25.#{i}", auto_config: false
    slave.vm.provision "shell",
      inline: "echo hello from slave #{i}"
  end
end
  

Это создаст 3 идентичных подчиненных устройства с разными IP-адресами для каждого — вы можете добавить свою конкретную конфигурацию, которая будет применяться одинаково ко всем 3 машинам.