|
| 1 | +# -*- mode: ruby -*- |
| 2 | +# vi: set ft=ruby : |
| 3 | + |
| 4 | +Vagrant.configure(2) do |config| |
| 5 | + |
| 6 | + config.vm.box = "ubuntu/xenial64" |
| 7 | + |
| 8 | + config.vm.define "kube-01" do |kube| |
| 9 | + kube.vm.hostname = "kube-01" |
| 10 | + kube.vm.network "private_network", ip: "192.168.12.10" |
| 11 | + config.vm.provider :virtualbox do |vb| |
| 12 | + vb.customize ["modifyvm", :id, "--memory", "2048"] |
| 13 | + vb.customize ["modifyvm", :id, "--cpus", "2"] |
| 14 | + end |
| 15 | + kube.vm.provision "shell", inline: $script |
| 16 | + end |
| 17 | + |
| 18 | + config.vm.define "kube-02" do |kube| |
| 19 | + kube.vm.hostname = "kube-02" |
| 20 | + kube.vm.network "private_network", ip: "192.168.12.11" |
| 21 | + config.vm.provider :virtualbox do |vb| |
| 22 | + vb.customize ["modifyvm", :id, "--memory", "2048"] |
| 23 | + vb.customize ["modifyvm", :id, "--cpus", "1"] |
| 24 | + end |
| 25 | + kube.vm.provision "shell", inline: $script |
| 26 | + end |
| 27 | + |
| 28 | + config.vm.define "kube-03" do |kube| |
| 29 | + kube.vm.hostname = "kube-03" |
| 30 | + kube.vm.network "private_network", ip: "192.168.12.12" |
| 31 | + config.vm.provider :virtualbox do |vb| |
| 32 | + vb.customize ["modifyvm", :id, "--memory", "2048"] |
| 33 | + vb.customize ["modifyvm", :id, "--cpus", "1"] |
| 34 | + end |
| 35 | + kube.vm.provision "shell", inline: $script |
| 36 | + end |
| 37 | + |
| 38 | +$script = <<SCRIPT |
| 39 | +echo I am provisioning... |
| 40 | +sudo cp /vagrant/hosts /etc/hosts |
| 41 | +curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - |
| 42 | +sudo cp /vagrant/kubernetes.list /etc/apt/sources.list.d/kubernetes.list |
| 43 | +sudo apt-get update |
| 44 | +sudo apt-get install -y docker.io kubelet kubeadm kubectl kubernetes-cni |
| 45 | +sudo rm -rf /var/lib/kubelet/* |
| 46 | +SCRIPT |
| 47 | + |
| 48 | +end |
0 commit comments