-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathVagrantfile
58 lines (51 loc) · 1.89 KB
/
Vagrantfile
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.env.enable
config.vm.box = "bento/ubuntu-22.04"
config.vm.synced_folder "scripts/", "/opt/scripts"
config.vm.synced_folder "shared/", "/opt/shared"
config.vm.provider "virtualbox" do |v|
v.memory = 2048
v.cpus = 2
end
$update_hosts = <<-SCRIPT
echo "192.168.60.5" nfs-server >> /etc/hosts
echo "192.168.60.10 k8s-master" >> /etc/hosts
echo "192.168.60.11 k8s-worker-1" >> /etc/hosts
echo "192.168.60.12 k8s-worker-2" >> /etc/hosts
SCRIPT
config.vm.define "nfs-server" do |nfs|
nfs.vm.hostname = "nfs-server"
nfs.vm.network "private_network", ip: "192.168.60.5",
auto_config: true
nfs.vm.provision "shell", inline: $update_hosts
nfs.vm.provision "shell", path: "scripts/nfs_server.sh"
nfs.vm.provider "virtualbox" do |v|
v.memory = 1024
v.cpus = 1
end
end
config.vm.define "k8s-master" do |master|
master.vm.hostname = "k8s-master"
master.vm.network "private_network", ip: "192.168.60.10",
auto_config: true
master.vm.provision "shell", inline: $update_hosts
master.vm.provision "shell", path: "scripts/common.sh"
master.vm.provision "shell", path: "scripts/master.sh"
master.vm.provision "shell", path: "scripts/tools.sh"
master.vm.provision "shell", path: "scripts/nfs_client.sh"
master.vm.network "forwarded_port", guest: 6443, host: 6443
end
(1..2).each do |i|
config.vm.define "k8s-worker-#{i}" do |worker|
worker.vm.hostname = "k8s-worker-#{i}"
worker.vm.network "private_network", ip: "192.168.60.#{i+10}",
auto_config: true
worker.vm.provision "shell", inline: $update_hosts
worker.vm.provision "shell", path: "scripts/common.sh"
worker.vm.provision "shell", path: "scripts/nfs_client.sh"
worker.vm.provision "shell", path: "shared/join.sh"
end
end
end