summaryrefslogtreecommitdiffstats
path: root/src/vagrant/k8s_kubeadm/Vagrantfile
blob: 3890e57a40fb61b5cee0af18ed856fa6d153f9d7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
$num_workers=3

Vagrant.require_version ">= 1.8.6"
Vagrant.configure("2") do |config|

  config.vm.box = "bento/ubuntu-16.04"
  config.vm.synced_folder "../..", "/src"
  config.vm.provision "shell", path: "host_setup.sh", privileged: false
  config.vm.provider :virtualbox do |vb|
    vb.customize ["modifyvm", :id, "--memory", 4096]
    vb.customize ["modifyvm", :id, "--cpus", 4]
    vb.customize ["modifyvm", :id, "--nicpromisc3", "allow-all"]
    vb.customize ["setextradata", :id, "VBoxInternal/CPUM/SSE4.1", "1"]
    vb.customize ["setextradata", :id, "VBoxInternal/CPUM/SSE4.2", "1"]
    vb.customize "post-boot",["controlvm", :id, "setlinkstate1", "on"]
  end

  config.vm.define "master" do |config|
    config.vm.hostname = "master"
    config.vm.provision "shell", path: "master_setup.sh", privileged: false
    config.vm.network :private_network, ip: "192.168.1.10"
    config.vm.network :private_network, ip: "192.168.2.10"
  end

  (1 .. $num_workers).each do |i|
    config.vm.define vm_name = "worker%d" % [i] do |config|
      config.vm.hostname = vm_name
      config.vm.provision "shell", path: "worker_setup.sh", privileged: false
      config.vm.network :private_network, ip: "192.168.1.#{i+20}"
      config.vm.network :private_network, ip: "192.168.2.#{i+20}"
    end
  end

end