-
Notifications
You must be signed in to change notification settings - Fork 1
/
Vagrantfile
129 lines (101 loc) · 5.25 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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.synced_folder ".", "/vagrant", type: "smb"
config.vm.define "admin" do |web|
config.vm.box = "generic/ubuntu2204"
# config.vm.network "public_network", bridge: "Public Switch", use_dhcp_assigned_default_route: true
config.vm.provider "hyperv" do |vb|
# Customize the amount of memory on the VM:
vb.maxmemory = "4096"
vb.memory = "2048"
vb.cpus = "2"
end
config.vm.provision "file", source: "./calico.yaml", destination: "calico.yaml"
config.vm.provision "file", source: "./kubeadm-config.yaml", destination: "kubeadm-config.yaml"
config.vm.provision "file", source: "./ip-masq-agent.yaml", destination: "ip-masq-agent.yaml"
config.vm.provision "file", source: "./nginx.yaml", destination: "nginx.yaml"
config.vm.provision "shell", path: "all.sh"
config.vm.provision "shell", path: "user.sh", privileged: false
config.vm.provision "shell", path: "containerd_prereq.sh"
config.vm.provision "shell", path: "install.sh"
config.vm.provision "shell", path: "configure.sh"
end
# config.vm.define "worker" do |web|
# config.vm.box = "generic/ubuntu2310"
# config.vm.network "public_network", bridge: "Public Switch", use_dhcp_assigned_default_route: true
# config.vm.provider "hyperv" do |vb|
# # Customize the amount of memory on the VM:
# vb.maxmemory = "4096"
# vb.memory = "2048"
# vb.cpus = "2"
# end
# config.vm.provision "file", source: "./calico.yaml", destination: "calico.yaml"
# config.vm.provision "file", source: "./kubeadm-config.yaml", destination: "kubeadm-config.yaml"
# config.vm.provision "file", source: "./ip-masq-agent.yaml", destination: "ip-masq-agent.yaml"
# config.vm.provision "file", source: "./nginx.yaml", destination: "nginx.yaml"
# end
# # Create a forwarded port mapping which allows access to a specific port
# # within the machine from a port on the host machine. In the example below,
# # accessing "localhost:8080" will access port 80 on the guest machine.
# # NOTE: This will enable public access to the opened port
# # config.vm.network "forwarded_port", guest: 80, host: 8080
# # Create a forwarded port mapping which allows access to a specific port
# # within the machine from a port on the host machine and only allow access
# # via 127.0.0.1 to disable public access
# # config.vm.network "forwarded_port", guest: 80, host: 8081, host_ip: "127.0.0.1"
# # Create a private network, which allows host-only access to the machine
# # using a specific IP.
# # config.vm.network "private_network", ip: "192.168.33.10"
# # Create a public network, which generally matched to bridged network.
# # Bridged networks make the machine appear as another physical device on
# # your network.
# # config.vm.network "public_network", bridge: "TP-Link Wireless Nano USB Adapter"
# # config.vm.network "public_network", bridge: "en1: Wi-Fi (AirPort)", use_dhcp_assigned_default_route: true
# #Automatic ipv6 support
# config.vm.network "public_network", bridge: "en1: Wi-Fi (AirPort)", use_dhcp_assigned_default_route: true
# # Share an additional folder to the guest VM. The first argument is
# # the path on the host to the actual folder. The second argument is
# # the path on the guest to mount the folder. And the optional third
# # argument is a set of non-required options.
# # config.vm.synced_folder "../data", "/vagrant_data"
# # Provider-specific configuration so you can fine-tune various
# # backing providers for Vagrant. These expose provider-specific options.
# # Example for VirtualBox:
# #
# # config.vm.hostname = "masterk8s"
# config.vm.provider "hyperv" do |vb|
# #
# # # Customize the amount of memory on the VM:
# vb.maxmemory = "4096"
# vb.memory = "2048"
# vb.cpus = "2"
# end
# #
# # View the documentation for the provider you are using for more
# # information on available options.
# # Enable provisioning with a shell script. Additional provisioners such as
# # Ansible, Chef, Docker, Puppet and Salt are also available. Please see the
# # documentation for more information about their specific syntax and use.
# # config.vm.provision "shell", inline: <<-SHELL
# # apt-get update
# # # apt-get install -y git
# # # apt-get install -y nano
# # # apt-get install -y curl
# # # apt-get install -y wget
# # # apt-get install -y nginx
# # ifconfig
# # # sudo dpkg -l | grep systemd
# # # sudo dpkg -L systemd
# # sudo apt-get install -y systemd
# # SHELL
# config.vm.provision "file", source: "./calico.yaml", destination: "calico.yaml"
# config.vm.provision "file", source: "./kubeadm-config.yaml", destination: "kubeadm-config.yaml"
# config.vm.provision "file", source: "./ip-masq-agent.yaml", destination: "ip-masq-agent.yaml"
# config.vm.provision "file", source: "./nginx.yaml", destination: "nginx.yaml"
# # config.vm.provision "shell", path: "all.sh"
# # config.vm.provision "shell", path: "user.sh", privileged: false
# # config.vm.provision "shell", path: "containerd_prereq.sh"
# # config.vm.provision "shell", path: "install.sh"
# # config.vm.provision "shell", path: "configure.sh"
end