Añadir multusk3s.md
This commit is contained in:
46
multusk3s.md
Normal file
46
multusk3s.md
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
## Multus en K3s: "El truco de los binarios y la configuración"
|
||||||
|
|
||||||
|
**Problema clásico:**
|
||||||
|
Multus funciona en K8s pero no en K3s; los pods solo tienen eth0 aunque los NAD estén bien.
|
||||||
|
|
||||||
|
**Motivo:**
|
||||||
|
K3s busca los binarios CNI en `/var/lib/rancher/k3s/data/cni/` (¡NO en `/opt/cni/bin/` ni `/usr/lib/cni/`!), y la configuración CNI la busca en `/var/lib/rancher/k3s/agent/etc/cni/net.d/`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 🛠️ **Pasos completos para Multus en K3s**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. Instala Multus normalmente (DaemonSet, NAD, etc.)
|
||||||
|
|
||||||
|
# 2. Copia el binario multus al path real de K3s:
|
||||||
|
sudo cp /opt/cni/bin/multus /var/lib/rancher/k3s/data/cni/
|
||||||
|
sudo chmod +x /var/lib/rancher/k3s/data/cni/multus
|
||||||
|
|
||||||
|
# 3. Copia el archivo de configuración 00-multus.conflist a la ruta de K3s:
|
||||||
|
sudo cp /etc/cni/net.d/00-multus.conflist /var/lib/rancher/k3s/agent/etc/cni/net.d/00-multus.conflist
|
||||||
|
|
||||||
|
# 4. (Opcional pero recomendable) Mueve/renombra el 10-flannel.conflist:
|
||||||
|
sudo mv /var/lib/rancher/k3s/agent/etc/cni/net.d/10-flannel.conflist /var/lib/rancher/k3s/agent/etc/cni/net.d/10-flannel.conflist.bak
|
||||||
|
|
||||||
|
# 5. Reinicia K3s en cada nodo:
|
||||||
|
sudo systemctl restart k3s
|
||||||
|
|
||||||
|
# 6. Lanza tus pods de prueba y revisa:
|
||||||
|
kubectl exec -it <pod> -- ip a
|
||||||
|
# Debes ver dos interfaces (eth0 y net1)
|
||||||
|
```
|
||||||
|
|
||||||
|
> **TIP:** Si actualizas Multus, repite el paso de copiar el binario.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Notas sobre rutas y diferencias con K8s clásico
|
||||||
|
|
||||||
|
* **K3s** usa rutas propias para binarios (`/var/lib/rancher/k3s/data/cni/`) y configuración (`/var/lib/rancher/k3s/agent/etc/cni/net.d/`).
|
||||||
|
* **K8s clásico** suele usar `/opt/cni/bin/` para binarios y `/etc/cni/net.d/` para configuración.
|
||||||
|
* Si ves errores tipo `failed to find plugin "multus" in path [/var/lib/rancher/k3s/data/cni]` o el pod sólo tiene `eth0` → revisa esto.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
¡Listo! Ahora puedes usar Multus y NADs en K3s igual que en cualquier Kubernetes enterprise.
|
||||||
Reference in New Issue
Block a user