NUM_WORKER_NODES=2 IP_NW="192.0.3." IP_START=10 Vagrant.configure("2") do |config| config.vm.box = "bento/ubuntu-24.04" config.vm.box_check_update = true config.vm.define "master" do |master| master.vm.hostname = "master-node" master.vm.network "private_network", ip: IP_NW + "#{IP_START}" master.vm.provider "virtualbox" do |vb| vb.memory = 4048 vb.cpus = 2 end master.vm.provision "shell", path: "install_k3s.sh" master.vm.network :forwarded_port, guest: 8001, host: 8001 master.vm.network :forwarded_port, guest: 6443, host: 6443 for i in 30000..32767 master.vm.network :forwarded_port, guest: i, host: i end end (1..NUM_WORKER_NODES).each do |i| config.vm.define "node0#{i}" do |node| node.vm.hostname = "worker-node0#{i}" node.vm.network "private_network", ip: IP_NW + "#{IP_START + i}" node.vm.provider "virtualbox" do |vb| vb.memory = 2048 vb.cpus = 1 end end end end # Configuració Global NUM_WORKER_NODES = 2 IP_NW = "192.0.3." IP_MASTER = "192.0.3.10" # Fixem la IP del Master per referenciar-la als workers Vagrant.configure("2") do |config| config.vm.box = "bento/ubuntu-24.04" config.vm.box_check_update = false # --- Configuració del MASTER --- config.vm.define "master" do |master| master.vm.hostname = "master-node" master.vm.network "private_network", ip: IP_MASTER master.vm.provider "virtualbox" do |vb| vb.memory = 2048 # Amb 2GB n'hi ha prou per K3s bàsic vb.cpus = 2 end # Ports importants (API i Ingress HTTP/HTTPS) master.vm.network :forwarded_port, guest: 6443, host: 6443, id: "k8s-api" master.vm.network :forwarded_port, guest: 80, host: 8080, id: "ingress-http" # Accedeix a les apps via localhost:8080 master.vm.provision "shell", path: "k3s_master.sh" end # --- Configuració dels WORKERS --- (1..NUM_WORKER_NODES).each do |i| config.vm.define "node0#{i}" do |node| node.vm.hostname = "worker-node0#{i}" node.vm.network "private_network", ip: IP_NW + "#{10 + i}" node.vm.provider "virtualbox" do |vb| vb.memory = 1024 # 1GB per worker vb.cpus = 1 end node.vm.provision "shell", path: "k3s_worker.sh" end end end