Files

107 lines
3.1 KiB
Markdown

# 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.
[![License: CC BY-NC 4.0](https://img.shields.io/badge/License-CC_BY--NC_4.0-lightgrey.svg)](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)
[![Agile611](https://www.agile611.com/wp-content/uploads/2020/09/cropped-logo-header.png)](http://www.agile611.com/)