2017-03-09 4 views
0

Vagrant를 사용하여 여러 VM을 프로비저닝하고 싶습니다. VM의 수를 빠르고 쉽게 늘릴 수 있기를 바랍니다.Vagrant : 여러 개의 동일한 VM에 가장 적합한 방법

현재 방글러데이에 대한 이해를 바탕으로합니다. 내가 4 세에서 늘리려면

# This defines the version of vagrant 
Vagrant.configure(2) do |config| 
    # Specifying the box we wish to use 
    config.vm.box = "chef/centos-6.5" 
    # Adding Bridged Network Adapter 
    config.vm.network "public_network" 
    # Iterating the loop for three times 
    (1..3).each do |i| 
     # Defining VM properties 
     config.vm.define "edureka_vm#{i}" do |node| 
      # Specifying the provider as VirtualBox and naming the VM's 
      config.vm.provider "virtualbox" do |node| 
       # The VM will be named as edureka_vm{i} 
       node.name = "edureka_vm#{i}" 
      end 
     end 
    end 
end 

그래서, 난 그냥 루프 범위를 변경 : 여기 https://www.edureka.co/blog/10-steps-to-create-multiple-vms-using-vagrant/ 자세한 다음 방법이 가장 좋은 방법이 될 것으로 보인다.

다른 방법이 있습니까? 내가 새로운 독창적 인 인스턴스를 만들어내는 명령 인 vagrant up의 일부 버전이 있기를 바라는 문서를 읽고있을 때.

+0

이것은 'vagrant up'에서 작동합니다. 왜 그렇지 않다고 생각하니? –

+0

@MattSchuchard 필자는 CLI가 새로운 VM을 구동 할 수있는 옵션을 찾고 있다고 생각한다. @Robben_Ford_Fan_boy 불행하게도 이와 같은 옵션은 없습니다. 도커는 더 많은 자원을 쉽게 추가 할 수있는 훌륭한 '규모'옵션을 가지고 있지만, 그럴 가능성이 없습니다. Vagrantfile에서 정의 할 필요가 있고, 더 많이 필요하다면 설정 파일을 변경하고 config ("vagrant reload")를 다시로드해야합니다. –

답변

1

방글라데시의 환경 변수가 최선의 방법입니다. Vagrantfile에 이와 같은 것을 정의하십시오. 노드가 환경 변수입니다

myVMs = ENV['NODES'] || 1

. 다음과 같은 방법으로 사용할 수 있습니다.

NODES=4 vagrant up

은 Vagrantfile에 myVMs 변수를 업데이트하고 4 개 VM을 산란한다. Vagrantfile을 열고 업데이트 할 필요가 없습니다. 그러나이 세션만으로이 세션이 수행됩니다. NODES의 값을 저장하려면 Linux의 ~/.profile 또는 Windows의 환경 변수에 추가해야 할 수 있습니다.

희망이 도움이됩니다.

+0

좋은 해결책 - 나는 그것을 좋아한다. –

관련 문제