Practica final
This commit is contained in:
88
boxes/debian/README.md
Normal file
88
boxes/debian/README.md
Normal file
@@ -0,0 +1,88 @@
|
||||
# Debian Vagrant — Descripció i ús
|
||||
|
||||
Aquest directori inclou una infraestructura Vagrant per muntar màquines Debian que suporten un petit clúster k3s d'estudi.
|
||||
|
||||
Contingut
|
||||
- `Vagrantfile` — Fitxer principal per crear les màquines virtuals (controlador i agents).
|
||||
- `.vagrant/` — Estat local de Vagrant (no versionar).
|
||||
- `shared/` — Conté fitxers compartits entre host i les VM:
|
||||
- `k3s.yaml` — Fitxer kubeconfig generat pel clúster k3s dins les VM.
|
||||
- `token` — Token d'unió per a workers (k3s join token).
|
||||
|
||||
Prerequisits
|
||||
- Instal·lar `Vagrant` i un provider (ex. VirtualBox). Si fas servir `libvirt` o un altre provider, configura'l prèviament.
|
||||
- Xarxa i permisos per crear màquines virtuals.
|
||||
|
||||
Com arrencar el lab
|
||||
1. Situa't a la carpeta `debian`:
|
||||
|
||||
```bash
|
||||
cd debian
|
||||
```
|
||||
|
||||
2. Inicia totes les màquines:
|
||||
|
||||
```bash
|
||||
vagrant up
|
||||
```
|
||||
|
||||
3. Opcional — iniciar només una màquina concreta (ex.: `server`):
|
||||
|
||||
```bash
|
||||
vagrant up server
|
||||
```
|
||||
|
||||
Accedir al kubeconfig
|
||||
- Un cop el clúster està operatiu, trobaràs el `kubeconfig` generat a `shared/k3s.yaml`. Per usar-lo localment, pots fer:
|
||||
|
||||
```bash
|
||||
export KUBECONFIG=$PWD/shared/k3s.yaml
|
||||
kubectl get nodes
|
||||
```
|
||||
|
||||
o copiar-lo al teu fitxer de kubeconfig:
|
||||
|
||||
```bash
|
||||
cp shared/k3s.yaml ~/.kube/config
|
||||
```
|
||||
|
||||
Ús del token
|
||||
- El fitxer `shared/token` conté normalment el token per unir workers al clúster. No el comparteixis públicament.
|
||||
|
||||
Neteja i aturada
|
||||
- Aturar màquines:
|
||||
|
||||
```bash
|
||||
vagrant halt
|
||||
```
|
||||
|
||||
- Destruir màquines i alliberar recursos:
|
||||
|
||||
```bash
|
||||
vagrant destroy -f
|
||||
```
|
||||
|
||||
Consells i consideracions
|
||||
- No versionis la carpeta `.vagrant` ni fitxers sensibles (secrets, tokens) al repositori.
|
||||
- Si utilitzes un provider diferent de VirtualBox (ex. libvirt), assegura't d'haver instal·lat i configurat el plugin de Vagrant corresponent.
|
||||
- Si el `kubeconfig` mostra nodes en estat NotReady, comprova que les VM tenen connectivitat i que k3s està en execució (`vagrant ssh server` i `sudo systemctl status k3s`).
|
||||
|
||||
Vols que:
|
||||
- faci un `git commit` d'aquest `README.md`?
|
||||
- o que generi instruccions més detallades per personalitzar la topologia (nombre d'agents, recursos, etc.)?
|
||||
|
||||
# Suport
|
||||
|
||||
Aquest tutorial és publicat al domini públic per [Agile611](http://www.agile611.com/) sota la llicència Creative Commons Attribution-NonCommercial 4.0 International.
|
||||
|
||||
[](https://creativecommons.org/licenses/by-nc/4.0/)
|
||||
|
||||
Aquest fitxer README va ser escrit originalment per [Guillem Hernández Sola](https://www.linkedin.com/in/guillemhs/) i també és publicat al domini públic.
|
||||
|
||||
Si us plau, contacta amb Agile611 per a més detalls.
|
||||
|
||||
* [Agile611](http://www.agile611.com/)
|
||||
* Laureà Miró 309
|
||||
* 08950 Esplugues de Llobregat (Barcelona)
|
||||
|
||||
[](http://www.agile611.com/)
|
||||
53
boxes/debian/Vagrantfile
vendored
Normal file
53
boxes/debian/Vagrantfile
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
server_ip = "192.168.33.10"
|
||||
|
||||
agents = { "agent1" => "192.168.33.11",
|
||||
"agent2" => "192.168.33.12",
|
||||
"agent3" => "192.168.33.13" }
|
||||
|
||||
server_script = <<-SHELL
|
||||
export INSTALL_K3S_EXEC="--bind-address=#{server_ip} --node-external-ip=#{server_ip} --flannel-iface=eth1"
|
||||
curl -sfL https://get.k3s.io | sh -
|
||||
echo "Sleeping for 10 seconds to wait for k3s to start"
|
||||
sleep 10
|
||||
sudo chown vagrant:vagrant /etc/rancher/k3s/k3s.yaml
|
||||
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
|
||||
cp /var/lib/rancher/k3s/server/token /vagrant_shared
|
||||
cp /etc/rancher/k3s/k3s.yaml /vagrant_shared
|
||||
sleep 10
|
||||
kubectl taint nodes server node-role.kubernetes.io/master=true:NoSchedule
|
||||
SHELL
|
||||
|
||||
agent_script = <<-SHELL
|
||||
export K3S_TOKEN_FILE=/vagrant_shared/token
|
||||
export K3S_URL=https://#{server_ip}:6443
|
||||
export INSTALL_K3S_EXEC="--flannel-iface=eth1"
|
||||
curl -sfL https://get.k3s.io | sh -
|
||||
SHELL
|
||||
|
||||
Vagrant.configure("2") do |config|
|
||||
config.vm.box = "bento/debian-13"
|
||||
|
||||
config.vm.define "server", primary: true do |server|
|
||||
server.vm.network "private_network", ip: server_ip
|
||||
server.vm.synced_folder "./shared", "/vagrant_shared"
|
||||
server.vm.hostname = "server"
|
||||
server.vm.provider "virtualbox" do |vb|
|
||||
vb.memory = "2048"
|
||||
vb.cpus = "2"
|
||||
end
|
||||
server.vm.provision "shell", inline: server_script
|
||||
end
|
||||
|
||||
agents.each do |agent_name, agent_ip|
|
||||
config.vm.define agent_name do |agent|
|
||||
agent.vm.network "private_network", ip: agent_ip
|
||||
agent.vm.synced_folder "./shared", "/vagrant_shared"
|
||||
agent.vm.hostname = agent_name
|
||||
agent.vm.provider "virtualbox" do |vb|
|
||||
vb.memory = "1024"
|
||||
vb.cpus = "1"
|
||||
end
|
||||
agent.vm.provision "shell", inline: agent_script
|
||||
end
|
||||
end
|
||||
end
|
||||
0
boxes/debian/shared/.gitkeep
Normal file
0
boxes/debian/shared/.gitkeep
Normal file
18
boxes/debian/shared/k3s.yaml
Normal file
18
boxes/debian/shared/k3s.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
apiVersion: v1
|
||||
clusters:
|
||||
- cluster:
|
||||
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJlRENDQVIyZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQWpNU0V3SHdZRFZRUUREQmhyTTNNdGMyVnkKZG1WeUxXTmhRREUzTnpJeE1EWTVOVGt3SGhjTk1qWXdNakkyTVRFMU5UVTVXaGNOTXpZd01qSTBNVEUxTlRVNQpXakFqTVNFd0h3WURWUVFEREJock0zTXRjMlZ5ZG1WeUxXTmhRREUzTnpJeE1EWTVOVGt3V1RBVEJnY3Foa2pPClBRSUJCZ2dxaGtqT1BRTUJCd05DQUFTa0VpUnNYUTF5VGU2Tk1ZRnZZM0xuKzdUQldBZzFUNEo3R25lZzc2Wi8KUGtrQ1pqZzc0VEZrMlpuYjJGYTV2cjJDRGltcGxvNCtlUmU1OTZydHRFU2hvMEl3UURBT0JnTlZIUThCQWY4RQpCQU1DQXFRd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVTBZbGV4cC9wbmREZzYzc1hKRXIwCi8wKzJzVjB3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQVBseFpTd2QrRFN3L3VKMmhqTWpHTVRwZGhDbVVONUYKeEQwT1k3SllNTmNZQWlFQXNuNE9NVExSSkNxQzVweFNUVDFTQzJoQklLa1RjYVp3VmtCMHZEWWc3dFk9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
|
||||
server: https://192.168.33.10:6443
|
||||
name: default
|
||||
contexts:
|
||||
- context:
|
||||
cluster: default
|
||||
user: default
|
||||
name: default
|
||||
current-context: default
|
||||
kind: Config
|
||||
users:
|
||||
- name: default
|
||||
user:
|
||||
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJrVENDQVRlZ0F3SUJBZ0lJUm1pMm81RnNpVmN3Q2dZSUtvWkl6ajBFQXdJd0l6RWhNQjhHQTFVRUF3d1kKYXpOekxXTnNhV1Z1ZEMxallVQXhOemN5TVRBMk9UVTVNQjRYRFRJMk1ESXlOakV4TlRVMU9Wb1hEVEkzTURJeQpOakV4TlRVMU9Wb3dNREVYTUJVR0ExVUVDaE1PYzNsemRHVnRPbTFoYzNSbGNuTXhGVEFUQmdOVkJBTVRESE41CmMzUmxiVHBoWkcxcGJqQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJCZktxK2ZTOG5vR01XV0kKdnFTd2hBSkdMeUdlSXlOajc2UzE5b2l6Ym5NT21lV0dTWUxvdVcrTER5cFhYSjNQVWl1djdCU1gzUHZEcTFGYgpQbUZsM25LalNEQkdNQTRHQTFVZER3RUIvd1FFQXdJRm9EQVRCZ05WSFNVRUREQUtCZ2dyQmdFRkJRY0RBakFmCkJnTlZIU01FR0RBV2dCU2ZINjB0Z2FRZGpFRW1hTkdUaWVlT21QZjNFREFLQmdncWhrak9QUVFEQWdOSUFEQkYKQWlFQStGNlR5Vk1DbVJSdmExOVM2ZEszSkNXUy9Rek1UNDBteDUyN01GU0s1QklDSUVrVGdOeEFoMmRjdGY3QgprV09QQ1FZY3JCejIzNGZZN0w0T3NSbHhuSlVRCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJkakNDQVIyZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQWpNU0V3SHdZRFZRUUREQmhyTTNNdFkyeHAKWlc1MExXTmhRREUzTnpJeE1EWTVOVGt3SGhjTk1qWXdNakkyTVRFMU5UVTVXaGNOTXpZd01qSTBNVEUxTlRVNQpXakFqTVNFd0h3WURWUVFEREJock0zTXRZMnhwWlc1MExXTmhRREUzTnpJeE1EWTVOVGt3V1RBVEJnY3Foa2pPClBRSUJCZ2dxaGtqT1BRTUJCd05DQUFRL0kxcEZXTFZ2d0F0N2ppYlVnZmt5QXZhdE92UmpKRHJ6SzkvajJkT1cKQkpPS2U3NGtBbzVSbi9vb0lCM1AvYUh0U3FHY1BUVUhReTNnWG1HeExYaG1vMEl3UURBT0JnTlZIUThCQWY4RQpCQU1DQXFRd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVW54K3RMWUdrSFl4QkptalJrNG5uCmpwajM5eEF3Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnRGMzSmJHMFpsN1I0eUhObjlmNlBWRDBOR0Z1UVo5NjEKZksxZllJVURNQjhDSUc4bEIvODRYa3lINjFpcjdVS0ZyN0dnR095MnNHTE1NdU9MSmZiRWQ3MzAKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
|
||||
client-key-data: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSUxnRzlEd21neFg0Q0pLSDNRUXlsZkp2b01TS0kxYTN6YzRSUEdYUHBPQmxvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFRjhxcjU5THllZ1l4WllpK3BMQ0VBa1l2SVo0akkyUHZwTFgyaUxOdWN3Nlo1WVpKZ3VpNQpiNHNQS2xkY25jOVNLNi9zRkpmYys4T3JVVnMrWVdYZWNnPT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo=
|
||||
1
boxes/debian/shared/token
Normal file
1
boxes/debian/shared/token
Normal file
@@ -0,0 +1 @@
|
||||
K10f81f3b04b499101f26c80ff7a104605967fd6b9eee3cbd3677e4bc8b3d2a00d4::server:bd6aec9d68aadcf32bd806048147e267
|
||||
106
boxes/ubuntu/README.md
Normal file
106
boxes/ubuntu/README.md
Normal file
@@ -0,0 +1,106 @@
|
||||
# Ubuntu Vagrant + k3s — Guia ràpida
|
||||
|
||||
Aquest directori inclou fitxers i scripts per muntar un petit entorn de desenvolupament basat en Ubuntu amb k3s utilitzant Vagrant.
|
||||
|
||||
Contingut principal
|
||||
- `Vagrantfile` — Fitxer de Vagrant per crear les VM (controlador i agents).
|
||||
- `libvirtVagrantfile` — Variante per a provider `libvirt` (si s'utilitza).
|
||||
- `k3s_control.sh` — Script d'inicialització/gestió per al node controlador k3s.
|
||||
- `k3s_worker.sh` — Script per unir nodes worker al clúster.
|
||||
- `.vagrant/` — Estat local de Vagrant (no versionar).
|
||||
- `shared/` — Fitxer compartit amb el host:
|
||||
- `k3s.yaml` — kubeconfig generat pel clúster dins les VM.
|
||||
- `token` — Token per unir workers (mantenir privat).
|
||||
|
||||
Prerequisits
|
||||
- `Vagrant` instal·lat i un provider configurat (VirtualBox, libvirt, etc.).
|
||||
- Accés suficient per crear màquines virtuals i configurar xarxes.
|
||||
|
||||
Arrencar l'entorn
|
||||
1. Obre un terminal i entra a la carpeta `ubuntu`:
|
||||
|
||||
```bash
|
||||
cd ubuntu
|
||||
```
|
||||
|
||||
2. Inicia les màquines (totes):
|
||||
|
||||
```bash
|
||||
vagrant up
|
||||
```
|
||||
|
||||
3. Si utilitzes `libvirt` i tens el `libvirtVagrantfile`, inicia amb el provider corresponent:
|
||||
|
||||
```bash
|
||||
vagrant up --provider=libvirt
|
||||
```
|
||||
|
||||
Ús dels scripts
|
||||
- Per preparar o controlar k3s al node controlador, pots executar `k3s_control.sh` (pot requerir `vagrant ssh server` o execució dins la VM):
|
||||
|
||||
```bash
|
||||
vagrant ssh server -- "sudo /vagrant/k3s_control.sh"
|
||||
```
|
||||
|
||||
- Per unir un worker manualment utilitzant el token compartit:
|
||||
|
||||
```bash
|
||||
vagrant ssh agent1 -- "sudo /vagrant/k3s_worker.sh $(cat /vagrant/token)"
|
||||
```
|
||||
|
||||
Accedir al kubeconfig
|
||||
- El `kubeconfig` generat pel clúster es troba a `shared/k3s.yaml`. Per utilitzar-lo localment:
|
||||
|
||||
```bash
|
||||
export KUBECONFIG=$PWD/shared/k3s.yaml
|
||||
kubectl get nodes
|
||||
```
|
||||
|
||||
o copiar-lo al teu `~/.kube/config`:
|
||||
|
||||
```bash
|
||||
cp shared/k3s.yaml ~/.kube/config
|
||||
```
|
||||
|
||||
Token i seguretat
|
||||
- `shared/token` conté el token per unir nodes; tracta'l com a secret i no el versionis.
|
||||
|
||||
Aturar i netejar
|
||||
- Aturar les màquines:
|
||||
|
||||
```bash
|
||||
vagrant halt
|
||||
```
|
||||
|
||||
- Destruir-les (alliberar recursos):
|
||||
|
||||
```bash
|
||||
vagrant destroy -f
|
||||
```
|
||||
|
||||
Consells i resolució d'errors comuns
|
||||
- Si alguna màquina no arrenca, comprova el provider (VirtualBox/libvirt) i l'espai disponible.
|
||||
- Si els nodes surten `NotReady`, fes `vagrant ssh server` i comprova l'estat de k3s:
|
||||
|
||||
```bash
|
||||
sudo systemctl status k3s
|
||||
sudo journalctl -u k3s -n 200
|
||||
```
|
||||
|
||||
- Revisa permisos i SELinux/ AppArmor si tens problemes de muntatge de carpetes compartides.
|
||||
|
||||
# Suport
|
||||
|
||||
Aquest tutorial és publicat al domini públic per [Agile611](http://www.agile611.com/) sota la llicència Creative Commons Attribution-NonCommercial 4.0 International.
|
||||
|
||||
[](https://creativecommons.org/licenses/by-nc/4.0/)
|
||||
|
||||
Aquest fitxer README va ser escrit originalment per [Guillem Hernández Sola](https://www.linkedin.com/in/guillemhs/) i també és publicat al domini públic.
|
||||
|
||||
Si us plau, contacta amb Agile611 per a més detalls.
|
||||
|
||||
* [Agile611](http://www.agile611.com/)
|
||||
* Laureà Miró 309
|
||||
* 08950 Esplugues de Llobregat (Barcelona)
|
||||
|
||||
[](http://www.agile611.com/)
|
||||
53
boxes/ubuntu/Vagrantfile
vendored
Normal file
53
boxes/ubuntu/Vagrantfile
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
server_ip = "192.168.33.10"
|
||||
|
||||
agents = { "agent1" => "192.168.33.11",
|
||||
"agent2" => "192.168.33.12",
|
||||
"agent3" => "192.168.33.13" }
|
||||
|
||||
server_script = <<-SHELL
|
||||
export INSTALL_K3S_EXEC="--bind-address=#{server_ip} --node-external-ip=#{server_ip} --flannel-iface=eth1"
|
||||
curl -sfL https://get.k3s.io | sh -
|
||||
echo "Sleeping for 10 seconds to wait for k3s to start"
|
||||
sleep 10
|
||||
sudo chown vagrant:vagrant /etc/rancher/k3s/k3s.yaml
|
||||
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
|
||||
cp /var/lib/rancher/k3s/server/token /vagrant_shared
|
||||
cp /etc/rancher/k3s/k3s.yaml /vagrant_shared
|
||||
sleep 10
|
||||
kubectl taint nodes server node-role.kubernetes.io/master=true:NoSchedule
|
||||
SHELL
|
||||
|
||||
agent_script = <<-SHELL
|
||||
export K3S_TOKEN_FILE=/vagrant_shared/token
|
||||
export K3S_URL=https://#{server_ip}:6443
|
||||
export INSTALL_K3S_EXEC="--flannel-iface=eth1"
|
||||
curl -sfL https://get.k3s.io | sh -
|
||||
SHELL
|
||||
|
||||
Vagrant.configure("2") do |config|
|
||||
config.vm.box = "bento/ubuntu-24.04"
|
||||
|
||||
config.vm.define "server", primary: true do |server|
|
||||
server.vm.network "private_network", ip: server_ip
|
||||
server.vm.synced_folder "./shared", "/vagrant_shared"
|
||||
server.vm.hostname = "server"
|
||||
server.vm.provider "virtualbox" do |vb|
|
||||
vb.memory = "2048"
|
||||
vb.cpus = "2"
|
||||
end
|
||||
server.vm.provision "shell", inline: server_script
|
||||
end
|
||||
|
||||
agents.each do |agent_name, agent_ip|
|
||||
config.vm.define agent_name do |agent|
|
||||
agent.vm.network "private_network", ip: agent_ip
|
||||
agent.vm.synced_folder "./shared", "/vagrant_shared"
|
||||
agent.vm.hostname = agent_name
|
||||
agent.vm.provider "virtualbox" do |vb|
|
||||
vb.memory = "1024"
|
||||
vb.cpus = "1"
|
||||
end
|
||||
agent.vm.provision "shell", inline: agent_script
|
||||
end
|
||||
end
|
||||
end
|
||||
14
boxes/ubuntu/k3s_control.sh
Normal file
14
boxes/ubuntu/k3s_control.sh
Normal file
@@ -0,0 +1,14 @@
|
||||
echo "🚀 Instal·lant K3s Server (Master)..."
|
||||
curl -sfL https://get.k3s.io | sh -s - --node-ip 10.0.3.15
|
||||
#curl -sfL https://get.k3s.io | sh -
|
||||
sudo chown vagrant:vagrant /etc/rancher/k3s/k3s.yaml
|
||||
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
|
||||
|
||||
kubectl version
|
||||
kubectl get nodes
|
||||
kubectl get pods -A
|
||||
|
||||
curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash
|
||||
sudo mv kustomize /usr/local/bin
|
||||
|
||||
echo "✅ Master llest!"
|
||||
30
boxes/ubuntu/k3s_worker.sh
Normal file
30
boxes/ubuntu/k3s_worker.sh
Normal file
@@ -0,0 +1,30 @@
|
||||
# Aquest script s'ha de fer servir amb el node agent ja provisionat
|
||||
# Anem a buscar el node token al Master
|
||||
# sudo cat /var/lib/rancher/k3s/server/node-token
|
||||
# Això dóna un string com algun_string_random::server:segon_string_random
|
||||
|
||||
# NOTA: Executar les següents comandes als nodes que voleu que siguin workers
|
||||
# K3S_TOKEN=algun_string_random::server:segon_string_random
|
||||
# Ex: K3S_TOKEN=K108085cf047fe22375b5c2ac96fec70afffd8a36fa66e8066f0218233e97c8ce6b::server:f3e19f5b6ed1c93e4c1bf0992bb5dc68
|
||||
# Quan ja tinguem els nodes preparats i penjats
|
||||
# Recordar que 10.0.3.15 és la IP del controlplane
|
||||
echo "🚀 Instal·lant K3s Agent (Worker) connectant a 10.0.3.15..."
|
||||
|
||||
curl -sfL https://get.k3s.io | K3S_URL=https://10.0.3.15:6443 K3S_TOKEN=$K3S_TOKEN sh -
|
||||
|
||||
echo "✅ Worker unit al clúster!"
|
||||
|
||||
|
||||
#Executar això al Controplane, per tenir-los amb role de worker
|
||||
#kubectl label node worker-node01 node-role.kubernetes.io/worker=worker
|
||||
#kubectl label node worker-node02 node-role.kubernetes.io/worker=worker
|
||||
#Desactivar que al node controlplane es puguin executar pods
|
||||
#kubectl taint nodes controlplane node-role.kubernetes.io/master=true:NoSchedule
|
||||
|
||||
#Estabilitzar les IPS
|
||||
# Al Control Plane
|
||||
# curl -sfL https://get.k3s.io | sh -s - --node-ip 10.0.3.15 --flannel-iface eth1
|
||||
# Al Worker01
|
||||
# curl -sfL https://get.k3s.io | K3S_URL=https://10.0.3.15:6443 K3S_TOKEN=$K3S_TOKEN sh -s - --node-ip 10.0.3.16
|
||||
# Al Worker02
|
||||
# curl -sfL https://get.k3s.io | K3S_URL=https://10.0.3.15:6443 K3S_TOKEN=$K3S_TOKEN sh -s - --node-ip 10.0.3.17
|
||||
41
boxes/ubuntu/libvirtVagrantfile
Normal file
41
boxes/ubuntu/libvirtVagrantfile
Normal file
@@ -0,0 +1,41 @@
|
||||
#Passo el Vagrantfile per utilitzar amb libvit:
|
||||
# -*- mode: ruby -*-
|
||||
# vi: set ft=ruby :
|
||||
|
||||
# Configuració Global
|
||||
NUM_WORKER_NODES = 2
|
||||
IP_NW = "192.168.3."
|
||||
IP_MASTER = "192.168.3.10" # Fixem la IP del Master per referenciar-la als workers
|
||||
|
||||
Vagrant.configure("2") do |config|
|
||||
config.vm.define "master" do |master|
|
||||
master.vm.box = "bento/ubuntu-24.04"
|
||||
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 :libvirt do |v|
|
||||
v.memory = 2048
|
||||
v.cpus = 2
|
||||
v.graphics_type = "spice"
|
||||
end
|
||||
end
|
||||
|
||||
# --- Configuració dels WORKERS ---
|
||||
(1..NUM_WORKER_NODES).each do |i|
|
||||
config.vm.define "node0#{i}" do |node|
|
||||
node.vm.box = "bento/ubuntu-24.04"
|
||||
node.vm.hostname = "worker-node0#{i}"
|
||||
node.vm.network "private_network", ip: IP_NW + "#{10 + i}"
|
||||
|
||||
node.vm.provider :libvirt do |v|
|
||||
v.memory = 1024
|
||||
v.cpus = 1
|
||||
v.graphics_type = "spice"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
0
boxes/ubuntu/shared/.gitkeep
Normal file
0
boxes/ubuntu/shared/.gitkeep
Normal file
18
boxes/ubuntu/shared/k3s.yaml
Normal file
18
boxes/ubuntu/shared/k3s.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
apiVersion: v1
|
||||
clusters:
|
||||
- cluster:
|
||||
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJkakNDQVIyZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQWpNU0V3SHdZRFZRUUREQmhyTTNNdGMyVnkKZG1WeUxXTmhRREUzTnpJeE1EVTBOekl3SGhjTk1qWXdNakkyTVRFek1URXlXaGNOTXpZd01qSTBNVEV6TVRFeQpXakFqTVNFd0h3WURWUVFEREJock0zTXRjMlZ5ZG1WeUxXTmhRREUzTnpJeE1EVTBOekl3V1RBVEJnY3Foa2pPClBRSUJCZ2dxaGtqT1BRTUJCd05DQUFUZzFBWGlGUldhbDBlZXJXWXhPMkpQNTdEUjNmTTZwSWZPdkZWaC9UOEUKNWJxU0dLaFIwZXNqQzlqaDd2eVBIOERESjUrQ254dUdCOE80elViRUtFd1BvMEl3UURBT0JnTlZIUThCQWY4RQpCQU1DQXFRd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVW43dk9qUkhWcmVPQmZxeU9OTlJmCnBuaExRTk13Q2dZSUtvWkl6ajBFQXdJRFJ3QXdSQUlnRVE2TXM2eVkyWERaNGRaamZOVzRtbGR2ZmlwSFNUYjgKcWw0eUZScU9aa1VDSUFvdG1VdFgxTVZKWFBXb2JCd09pSnVDekdmUk1VUnhENmdaZ0pFeEc0YmkKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
|
||||
server: https://192.168.33.10:6443
|
||||
name: default
|
||||
contexts:
|
||||
- context:
|
||||
cluster: default
|
||||
user: default
|
||||
name: default
|
||||
current-context: default
|
||||
kind: Config
|
||||
users:
|
||||
- name: default
|
||||
user:
|
||||
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJrakNDQVRlZ0F3SUJBZ0lJVERjN1RIeGxzbmN3Q2dZSUtvWkl6ajBFQXdJd0l6RWhNQjhHQTFVRUF3d1kKYXpOekxXTnNhV1Z1ZEMxallVQXhOemN5TVRBMU5EY3lNQjRYRFRJMk1ESXlOakV4TXpFeE1sb1hEVEkzTURJeQpOakV4TXpFeE1sb3dNREVYTUJVR0ExVUVDaE1PYzNsemRHVnRPbTFoYzNSbGNuTXhGVEFUQmdOVkJBTVRESE41CmMzUmxiVHBoWkcxcGJqQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJLcGpxOSszRHltN2hveWkKTmt6RTdkMzRCN0RiTS9EUTBJRTlVOEcyVEF4b1NCQWJpamF6RmcyL2laRU1RTk5pbWNGYWdFeXM4WWxTUk9XZApacS9qbnNLalNEQkdNQTRHQTFVZER3RUIvd1FFQXdJRm9EQVRCZ05WSFNVRUREQUtCZ2dyQmdFRkJRY0RBakFmCkJnTlZIU01FR0RBV2dCVEpmOElteDlxcmtDV24yVU9lck1ibXQxVHRUakFLQmdncWhrak9QUVFEQWdOSkFEQkcKQWlFQXJ5N2R4MERCMXZrVnlkdDRNTTg1RWZ6OUUwSFBITEF0OW80dU4rczVMUThDSVFDcEUxWVNrN0xla2MxbgpjdVk3aEJDWW56UUx3bHVyb2Zrano0aWkreFpBWFE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlCZGpDQ0FSMmdBd0lCQWdJQkFEQUtCZ2dxaGtqT1BRUURBakFqTVNFd0h3WURWUVFEREJock0zTXRZMnhwClpXNTBMV05oUURFM056SXhNRFUwTnpJd0hoY05Nall3TWpJMk1URXpNVEV5V2hjTk16WXdNakkwTVRFek1URXkKV2pBak1TRXdId1lEVlFRRERCaHJNM010WTJ4cFpXNTBMV05oUURFM056SXhNRFUwTnpJd1dUQVRCZ2NxaGtqTwpQUUlCQmdncWhrak9QUU1CQndOQ0FBU01LZmZOeEpQK3FpcG40UzBvSVhZeVNNS3dDa2s5VHl4MGR0VGJBK1FmClducGdhczJtczA5dFU1OGRTL0dYcUsrOVpXUFpSY2xZQlBLaEQ5bEc1a0ZTbzBJd1FEQU9CZ05WSFE4QkFmOEUKQkFNQ0FxUXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QWRCZ05WSFE0RUZnUVV5WC9DSnNmYXE1QWxwOWxEbnF6Rwo1cmRVN1U0d0NnWUlLb1pJemowRUF3SURSd0F3UkFJZ0d0NU1UU0IwUGw4aGNRVzFOVnErQWlIQ0tGYVhmNzdpCmhSSmo2R2tiVU13Q0lDTS9MVmxEV1RTOG41OTZ6ellIelRmT3IyR2VmWGZpN2xmS3M3THo1N3BHCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
|
||||
client-key-data: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSUdLUG5DNHVzVXVrems3NTlsU3J4YVJ5aUlWcEtObGc3T1Uvb09EamdnanNvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFcW1PcjM3Y1BLYnVHaktJMlRNVHQzZmdIc05zejhORFFnVDFUd2JaTURHaElFQnVLTnJNVwpEYitKa1F4QTAyS1p3VnFBVEt6eGlWSkU1WjFtcitPZXdnPT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo=
|
||||
1
boxes/ubuntu/shared/token
Normal file
1
boxes/ubuntu/shared/token
Normal file
@@ -0,0 +1 @@
|
||||
K10d10b891bb7bc3db04057b734136b0ab30176499b236381ae7e06b493211b1844::server:7030dca29bd903efdbb3e2f2876aacc0
|
||||
Reference in New Issue
Block a user