Added new Vagrant file
This commit is contained in:
34
Vagrantfile
vendored
34
Vagrantfile
vendored
@@ -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
|
||||||
|
|||||||
@@ -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
|
|
||||||
|
|
||||||
echo "✅ Master llest!"
|
== 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!"
|
||||||
Reference in New Issue
Block a user