ac5f10b2811ed8813f9834fd4c8c0679ef70587d
🚀 Guía y Presentación del Clúster Kubernetes en SUSE
Este repositorio contiene los manifiestos, scripts y documentación para desplegar y gestionar un clúster Kubernetes basado en SUSE Linux. Además, incluye una explicación visual y sencilla de la arquitectura y componentes del clúster.
1. 🌍 Visión general del clúster
-
Kubernetes 1.33 (vainilla) → versión estándar, instalamos todas las piezas manualmente.
-
Dos sites (A y B) con dos servidores cada uno.
-
Plan: añadir un tercer site con nodo árbitro:
- Su función será desempatar si un site cae y mantener coherencia.
| Site | Servidores | Discos Ceph |
|---|---|---|
| A | 2 hosts | 12 discos |
| B | 2 hosts | 12 discos |
| C | 1 árbitro | - |
2. 🔧 Componentes básicos
2.1. Runtime de contenedores
- Usamos containerd (Docker ya no es soportado directamente por Kubernetes).
2.2. Red
- Flannel ➝ conecta los pods entre nodos.
- Multus ➝ permite varias interfaces de red por pod (NAD).
2.3. Almacenamiento
-
CSI contra DELL Powervault:
- 1 cabina por site.
- Requiere nodeSelector por zonas (para hacerlo bien)
-
Ceph distribuido:
- 24 discos en total (6 por servidor).
- Replica 4 ➝ soporta caída de un site completo.
- Requiere el quinto nodo árbitro para quorum real.
-
Se expone a Kubernetes como un StorageClass (plantilla de volúmenes).
2.4. Balanceo de IPs
- MetalLB ➝ asigna IPs virtuales a servicios.
3. 🌐 Redes y servicios
-
Dos redes:
- 🔧 br-admin ➝ administración interna.
- 🌐 br-servicios ➝ servicios para clientes.
-
Los servicios se exponen en una u otra red con
loadBalancerIP.
| Tipo de servicio | Red usada |
|---|---|
| Clientes finales | Servicios |
| Internos | Administración |
3.1. Ingress y certificados
- Ingress NGINX ➝ gestiona el tráfico HTTP/HTTPS.
- cert-manager ➝ emite certificados SSL.
- Ingress está en ambas redes ➝ permite pedir certificados en cualquiera.
4. 🔒 Seguridad y acceso remoto
4.1. VPN (WireGuard)
-
Usamos wg-easy:
- Instancias ilimitadas (clientes o internos).
- Cada una restringe acceso a ciertas redes.
4.2. DNS interno
- CoreDNS interno ➝ split-DNS.
- Clientes VPN usan este DNS.
4.3. Control de accesos
- ACLs en ingress restringen apps por usuario/red.
- Combinando VPN + DNS interno + ACLs ➝ control de accesos flexible.
5. 🧩 Integraciones adicionales
5.1. Proxy externo
-
Servicio external ➝ acceso a servicios web fuera del clúster:
- Firewalls 🔥
- Consolas iLO 🖥️
- Cabinas de almacenamiento 💾
5.2. Virtualización
- KubeVirt ➝ ejecutar máquinas virtuales en Kubernetes.
- Dashboard para gestionarlas.
- iso-server ➝ sirve ISOs por HTTPS (subidas vía Samba).
5.3. Copias de seguridad
-
Velero
- Montado sobre dos almacenes S3 (Minio), uno por SITE
- Cada almacen en una cabina de almacenamiento (DriverCSI)
6. 📚 Índice de documentos y referencias cruzadas
| Documento | Descripción | Referencia |
|---|---|---|
estructura_manifiestos.md |
Explicación de la estructura de manifiestos | Ver |
cluster_init.md |
Proceso de inicialización del cluster en SUSE | Ver |
redes_internet.md |
MetalLB, Multus y demás | Ver |
ingress.md |
Capítulo de cert-manager e ingress | Ver |
rook\readme.md |
Instalación e integración de Ceph/Rook | Ver |
seagate\readme.md |
Instalación del driver CSI para DELL SAN | Ver |
kubevirt\readme.md |
Despliegue de KubeVirt y gestión de VMs | Ver |
vm-windows-demo\readme.md |
Máquina virtual de ejemplo | Ver |
comprobaciones.md |
Checklist tras cada paso crítico | Ver |
script_limpieza.md |
Script para limpiar un nodo | Ver |
coredns-demo\readme.md |
Ejemplo de Multus con CoreDNS | Ver |
storage\readme.md |
Ejemplo de StorageClass | Ver |
dashboard\readme.md |
Ejemplo con ingress dashboard | Ver |
wireguard\readme.md |
Manual de WireGuard | Ver |
coredns\readme.md |
Configuración del DNS del sistema | Ver |
apolo\readme.md |
Manual de Apolo | Ver |
external\readme.md |
Funcionamiento de External | Ver |
gitea\readme.md |
Manual de instalación de Gitea | Ver |
guacamole\readme.md |
Manual de instalación de Guacamole | Ver |
vscode\readme.md |
Manual de instalación de VScode | Ver |
mapas\readme.md |
Manual de instalación de Tileserver-GL | Ver |
argos\readme.md |
Manual de instalación de Argos Core | Ver |
multusk3s.md |
Notas para Multus en K3s | Ver |
minio\readme.md |
Manual de instalación de Minio para Velero | Ver |
velero\readme.md |
Manual de instalación de Velero | Ver |
7. 📊 Estado actual de la instalación
| Componente | Estado | Comentario | Enlace | User/Pass |
|---|---|---|---|---|
Arranque Cluster |
✅ Completado | Instalación básica validada | https://k8s.c2et.net | kubeconfig |
Networking |
✅ Completado | probado Multus, flannel y MetalLB y validado | - | - |
Ingress |
✅ Completado Nginx | Nginx funcionando | - | - |
Volumenes persistentes |
✅ Completado | Rook Ceph a 4 nodos, falta ampliar a 5 nodos | https://ceph.c2et.net/ | admin / Pozuelo12345 |
Volumenes persistentes |
✅ Completado | Driver para las cabinas de almacenamiendo DEEL Powervault | ||
Maquinas Virtuales |
✅ Completado | Desplegado kubevirt, dashboard e isoserver | https://kubevirt.c2et.net/ https://isoserver.c2et.net/ | - |
Wireguard |
✅ Completado | Funcionando | https://wireguard.c2et.net/ | Pozuelo12345 |
CoreDNS |
✅ Completado | Funcionando | ||
Apolo |
✅ Completado | Funcionando | https://portal.apolo.c2et.net/ | admin / 123456 |
Gitea |
✅ Completado | Funcionando | https://git.c2et.net/ | |
Harbor |
✅ Completado | Funcionando | https://harbor.c2et.net/ | |
Guacamole |
✅ Completado | Funcionando | https://heimdall.c2et.net/ | |
VSCode |
✅ Completado | Funcionando | https://vscode.c2et.net/ | Pozuelo12345 |
Tileserver-GL |
✅ Completado | Funcionando | https://mapas.c2et.net/ | |
External |
✅ Completado | Funcionando | varias | |
Argos Core |
✅ Completado | Funcionando | https://argos.panel.c2et.net/ | |
Minio |
✅ Completado | Funcionando | https://https://console.s3-a.c2et.net// https://https://console.s3-b.c2et.net// | admin / Pozuelo12345 |
Velero |
✅ Completado | Funcionando |
8. ✅ Resumen final
- Clúster distribuido en 2 sites (+ 1 árbitro en camino).
- Kubernetes vainilla ➝ instalamos cada pieza: runtime, red, almacenamiento, balanceo.
- Dos redes: administración y servicios.
- Seguridad basada en VPN + DNS + ACLs.
- Ingress con SSL automático.
- Funcionalidades extra: proxy externo + VMs con KubeVirt.
9. 📌 ¿Cómo usar este repositorio?
- Sigue el orden de los documentos desde
readme.md. - Comprueba cada paso con
comprobaciones.md. - Consulta el resto de documentos según el despliegue requerido (Ceph, KubeVirt, etc).
- Actualiza la documentación con lo que vayas validando.
Description
Languages
Shell
96.6%
Smarty
3.4%