Actualizar cluster_init.md
This commit is contained in:
@@ -357,11 +357,13 @@ kubeadm init phase upload-certs --upload-certs
|
||||
```
|
||||
Si copiamos ambos resultados y lo unimos en un solo comando join conseguiremos el objetivo. Explicado más abajo.
|
||||
|
||||
## d) Instala la red de pods (Flannel) usando la VLAN interna del clúster
|
||||
# d) Instala la red de pods (Flannel) usando la VLAN interna del clúster
|
||||
|
||||
Kubernetes solo define la infraestructura; necesitas un complemento de red (CNI) para que los pods puedan comunicarse entre sí. Flannel es la opción más sencilla y compatible, y puedes configurarla para usar una interfaz/VLAN específica para el tráfico overlay (muy recomendable si segmentas redes en tu clúster).
|
||||
Kubernetes solo define la infraestructura; necesitas un complemento de red (CNI) para que los pods puedan comunicarse entre sí. **Flannel** es la opción más sencilla y compatible, y puedes configurarla para usar una interfaz/VLAN específica para el tráfico overlay (muy recomendable si segmentas redes en tu clúster).
|
||||
|
||||
### **¡ATENCIÓN! CNI Y PLUGINS:**
|
||||
---
|
||||
|
||||
## ¡ATENCIÓN! CNI Y PLUGINS
|
||||
|
||||
Antes de aplicar Flannel, **asegúrate de tener los plugins CNI instalados en `/opt/cni/bin/`** (en SUSE esto NO siempre lo hace el paquete de Flannel):
|
||||
|
||||
@@ -371,6 +373,8 @@ ARCH="amd64"
|
||||
sudo curl -Lo cni-plugins.tgz https://github.com/containernetworking/plugins/releases/download/${CNI_VERSION}/cni-plugins-linux-${ARCH}-${CNI_VERSION}.tgz
|
||||
sudo mkdir -p /opt/cni/bin
|
||||
sudo tar -C /opt/cni/bin -xzf cni-plugins.tgz
|
||||
sudo chmod +x /opt/cni/bin/*
|
||||
sudo chown root:root /opt/cni/bin/*
|
||||
```
|
||||
|
||||
Verifica que existen al menos:
|
||||
@@ -379,37 +383,74 @@ Verifica que existen al menos:
|
||||
* `/opt/cni/bin/flannel`
|
||||
* `/opt/cni/bin/bridge` y otros
|
||||
|
||||
Corrige permisos si hace falta:
|
||||
---
|
||||
|
||||
## Instalación de Flannel especificando la interfaz de la VLAN de clúster
|
||||
|
||||
**Descarga el manifiesto de Flannel:**
|
||||
|
||||
```bash
|
||||
sudo chmod +x /opt/cni/bin/*
|
||||
sudo chown root:root /opt/cni/bin/*
|
||||
wget https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml
|
||||
```
|
||||
|
||||
**Luego sí aplica Flannel:**
|
||||
**Edita el manifiesto para forzar la interfaz de red correcta:**
|
||||
|
||||
* Abre `kube-flannel.yml`
|
||||
* Busca el bloque `args:` bajo el contenedor principal.
|
||||
* Añade la línea siguiente (ajusta el nombre según tu interfaz real, por ejemplo, `vlan40`, `bond0.40`, etc.):
|
||||
|
||||
```yaml
|
||||
- --iface=vlan40 # <--- Pon aquí el nombre de la interfaz con IP 192.168.4.x
|
||||
```
|
||||
|
||||
### Ejemplo del bloque completo:
|
||||
|
||||
```yaml
|
||||
containers:
|
||||
- args:
|
||||
- --ip-masq
|
||||
- --kube-subnet-mgr
|
||||
- --iface=vlan40 # <--- Nueva línea
|
||||
command:
|
||||
- /opt/bin/flanneld
|
||||
...
|
||||
```
|
||||
|
||||
> **TIP:** Puedes comprobar el nombre con `ip a` en el host, buscando la interfaz con la IP `192.168.4.x` (VLAN 40).
|
||||
|
||||
**Aplica el manifiesto editado:**
|
||||
|
||||
```bash
|
||||
kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml
|
||||
kubectl apply -f kube-flannel.yml
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## e) Comprueba que Flannel funciona
|
||||
## Verifica el despliegue y que Flannel usa la interfaz correcta
|
||||
|
||||
* Comprueba que todos los pods de Flannel están en estado **Running**:
|
||||
|
||||
```bash
|
||||
kubectl -n kube-flannel get pods -o wide
|
||||
```
|
||||
|
||||
> Todos los pods deben estar en estado `Running`.
|
||||
* Consulta los logs de Flannel en cada nodo:
|
||||
|
||||
Si no levanta, **verifica logs y revisa `/opt/cni/bin/`**:
|
||||
```bash
|
||||
kubectl -n kube-flannel logs <nombre-pod-flannel-en-cada-nodo> | grep Using
|
||||
```
|
||||
|
||||
* Los binarios deben ser para la arquitectura correcta (x86\_64/amd64).
|
||||
* Deben tener permisos de ejecución y ser propiedad de root.
|
||||
Debes ver una línea como:
|
||||
|
||||
```text
|
||||
Using interface with name vlan40 and address 192.168.4.x
|
||||
```
|
||||
|
||||
Si todo es correcto, ya puedes comprobar conectividad pod-to-pod entre nodos.
|
||||
|
||||
---
|
||||
|
||||
## f) Une el resto de nodos control-plane
|
||||
## e) Une el resto de nodos control-plane
|
||||
|
||||
En los demás nodos control-plane (tras configurar Keepalived y tener la VIP activa):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user