Bootstrap-Kubernetes-with-QEMU
Kit de automatización con Ansible para desplegar clústeres Kubernetes de 4 nodos en Proxmox usando QEMU y Debian. Incluye playbooks opcionales para Ingress, NFS, MetalLB y monitoreo. Proyecto retirado pero funcional para migraciones o entornos controlados.
Ficha actualizada 18 sept 2026, 19:48 · upstream 21 sept 2020, 4:23 · release sin release detectada
Qué es Bootstrap-Kubernetes-with-QEMU
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Este repositorio proporciona una solución declarativa para construir un clúster Kubernetes de 4 nodos en servidores Proxmox mediante la combinación de Ansible y QEMU. El proceso se basa en Debian como sistema operativo base y permite habilitar características avanzadas como controladores de Ingress, almacenamiento persistente con NFS, balanceadores de carga con MetalLB y agentes de monitoreo como DataDog. La configuración inicial requiere modificar archivos vars.yml e inventory.ini, provisionando registros DNS o actualizando el archivo hosts del servidor Proxmox para los nombres de host definidos.
El despliegue se ejecuta mediante comandos de Ansible, generando automáticamente un directorio ~/.kube en la estación de trabajo para interactuar con el clúster. Aunque el proyecto ha sido retirado a favor de TKS (TJ's Kubernetes Service), las herramientas y scripts siguen siendo útiles para entornos donde se requiera una implementación manual controlada sobre infraestructura virtualizada existente, evitando la sobrecarga de hipervisor en favor de contenedores LXC si es necesario.
Las instrucciones incluyen pasos opcionales para desplegar el Dashboard, actualizaciones automáticas y provisiones adicionales, aunque existen advertencias técnicas sobre módulos obsoletos de Ansible y problemas conocidos con cloud-init en versiones recientes de Proxmox que pueden afectar la configuración de red en las máquinas virtuales.
- Despliegue rápido de clústeres Kubernetes multi-nodo en infraestructura Proxmox existente
- Implementación de almacenamiento persistente externo mediante NFS para aplicaciones stateful
- Configuración de balanceo de carga y Ingress con MetalLB o NGINX para servicios expuestos a la red
- Monitoreo del clúster mediante agentes de DataDog integrados en los nodos
- Automatización de actualizaciones de seguridad y parches sin intervención manual constante
- Migración o reemplazo de entornos LXC por VMs con QEMU para mayor aislamiento hardware
- Automatización completa del ciclo de vida del clúster mediante Ansible, reduciendo errores manuales en la configuración inicial
- Soporte nativo para características avanzadas como Ingress, NFS y MetalLB mediante playbooks modulares opcionales
- Generación automática de credenciales y configuración de kubeconfig en la estación de trabajo post-despliegue
- Capacidad de rollback total del clúster con un único playbook para recuperación ante fallos
- Optimización de recursos al permitir el uso de QEMU en lugar de LXC cuando se requiere mayor aislamiento o compatibilidad con hardware específico
- Documentación clara sobre requisitos de red, DNS y configuración de variables para entornos personalizados
- El módulo proxmox_kvm es obsoleto y no soporta llamadas a la API de cloud-init, requiriendo comandos shell para tareas de creación de VMs
- El módulo k8s de Ansible no permite aplicar Deployments desde URL directamente, necesitando descargar archivos primero o usar comandos shell
- Problemas conocidos con cloud-init en Proxmox 6.0+ pueden causar configuraciones incorrectas de red o múltiples IPs en la interfaz eth0
- Incompatibilidad con versiones anteriores de Ansible (requiere 2.7.0+) y posibles conflictos con builds previos del repositorio
- Problemas específicos con imágenes qcow2 en sistemas operativos como CentOS (nombreservers hardcodeados) o CoreOS (red no configurada por cloud-init)
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Requiere servidor Proxmox, DNS externo o archivo hosts manualizado, Ansible 2.7.0+ y claves SSH configuradas. Modificar vars.yml con IPs y nombres de host, actualizar inventory.ini con registros DNS y rutas a claves SSH. Ejecutar ansible-playbook -i inventory.ini site.yml. Tiempo estimado 25 minutos. Verificar compatibilidad de red para Calico (CIDR) y evitar conflictos con DHCP si no está activo. Para rollback usar playbook de borrado total.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.