Added new Vagrant file

This commit is contained in:
2026-01-30 10:36:40 +01:00
parent 89de5ef8b6
commit d2a11c9d1d
2 changed files with 35 additions and 28 deletions

32
Vagrantfile vendored
View File

@@ -1,41 +1,35 @@
# Configuració Global # Configuració Global
NUM_WORKER_NODES = 2 NUM_WORKER_NODES = 2
IP_NW = "192.0.3." IP_NW = "192.168.3."
IP_MASTER = "192.0.3.10" # Fixem la IP del Master per referenciar-la als workers IP_MASTER = "192.168.3.10" # Fixem la IP del Master per referenciar-la als workers
Vagrant.configure("2") do |config| 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| config.vm.define "master" do |master|
master.vm.hostname = "master-node" master.vm.box = "bento/ubuntu-24.04"
master.vm.network "private_network", ip: IP_MASTER master.vm.network "private_network", ip: "192.168.3.10"
master.vm.hostname = "master"
master.vm.synced_folder ".", "/home/vagrant/sync", type: "rsync"
master.vm.provision :shell, :path => "k3s_master.sh"
master.vm.network :forwarded_port, guest: 6443, host: 6443
master.vm.network :forwarded_port, guest: 80, host: 8080
master.vm.provider "virtualbox" do |vb| master.vm.provider "virtualbox" do |vb|
vb.memory = 2048 # Amb 2GB n'hi ha prou per K3s bàsic vb.memory = 2048 # Memoria RAM asignada
vb.cpus = 2 vb.cpus = 2 # Número de CPUs asignadas
end 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 end
# --- Configuració dels WORKERS --- # --- Configuració dels WORKERS ---
(1..NUM_WORKER_NODES).each do |i| (1..NUM_WORKER_NODES).each do |i|
config.vm.define "node0#{i}" do |node| config.vm.define "node0#{i}" do |node|
node.vm.box = "bento/ubuntu-24.04"
node.vm.hostname = "worker-node0#{i}" node.vm.hostname = "worker-node0#{i}"
node.vm.network "private_network", ip: IP_NW + "#{10 + i}" node.vm.network "private_network", ip: IP_NW + "#{10 + i}"
node.vm.provision "shell", path: "k3s_worker.sh"
node.vm.provider "virtualbox" do |vb| node.vm.provider "virtualbox" do |vb|
vb.memory = 1024 # 1GB per worker vb.memory = 1024 # 1GB per worker
vb.cpus = 1 vb.cpus = 1
end end
node.vm.provision "shell", path: "k3s_worker.sh"
end end
end end
end end

View File

@@ -1,9 +1,22 @@
echo "🚀 Instal·lant K3s Server (Master)..." echo "🚀 Instal·lant K3s Server (Master)..."
curl -sfL https://get.k3s.io | sh -s - --node-ip #{IP_MASTER} --flannel-iface eth1 == 1. Update Your System ==
sudo apt update
sudo apt upgrade -y
echo "🔑 Guardant el Token a la carpeta compartida..." == 2. Install k3s ==
# Copiem el token a /vagrant (que és la carpeta del teu PC) perquè els workers el vegin curl -sfL https://get.k3s.io | sh -
sudo cp /var/lib/rancher/k3s/server/node-token /vagrant/node-token
sudo chmod 644 /vagrant/node-token == 3. Give Non-root User Access to K3s Config ==
sudo chown $USER:$USER /etc/rancher/k3s/k3s.yaml
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
== 4. Verify Kubernetes Cluster ==
kubectl version
kubectl get nodes
kubectl get pods -A
== 5. Install Kustomize ==
curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash
sudo mv kustomize /usr/local/bin
echo "✅ Master llest!" echo "✅ Master llest!"