Skip to content

Javviviii2/tf_homeserver

Repository files navigation

Talos Kubernetes on KVM/Libvirt

Infraestructura como código para cluster Talos Kubernetes en KVM/Libvirt con despliegue totalmente automatizado.

🏗️ Arquitectura

  • OS: Talos v1.11.5 (preinstalled QCOW2 images)
  • Kubernetes: v1.34.0
  • CNI: Flannel (instalado automáticamente)
  • Infraestructura: KVM/libvirt con red NAT
  • Control Plane: 1 nodo (10.0.0.11)
  • Workers: 1 nodo (10.0.0.12)

✨ Características

  • Despliegue 100% automatizado con Terraform
  • Bootstrap automático del cluster
  • CNI Flannel instalado automáticamente
  • Scripts de setup ejecutados remotamente
  • Kubeconfig generado en el hypervisor
  • Sin intervención manual requerida

🚀 Despliegue Rápido

Opción 1: Script Todo-en-Uno (Recomendado)

# Preparar imagen base (primera vez)
./scripts/prepare-talos-image.sh

# Desplegar cluster completo
./scripts/deploy-cluster.sh

Tiempo total: ~8 minutos
Resultado: Cluster Kubernetes completamente funcional

Opción 2: Terraform Manual

# 1. Preparar imagen base
./scripts/prepare-talos-image.sh

# 2. Capa base (red + volúmenes)
terraform -chdir=layers/1-base init
terraform -chdir=layers/1-base apply -auto-approve

# 3. Control plane + bootstrap + CNI
terraform -chdir=layers/2-controlplane init
terraform -chdir=layers/2-controlplane apply -var-file=terraform.tfvars -auto-approve

# 4. Workers (opcional)
terraform -chdir=layers/3-workers apply -auto-approve

📋 Comandos

Comando Descripción
make help Ver todos los comandos
make apply-all Desplegar cluster completo
make destroy-all Destruir todo
./clean-all.sh Limpieza completa

🎯 Estructura

scripts/
└── prepare-talos-image.sh    # Pre-descarga RAW
layers/
├── 1-base/                   # Red, volúmenes con backing RAW
├── 2-controlplane/           # CP + bootstrap
├── 3-workers/                # Workers + kubeconfig
└── templates/                # Configs Talos
modules/
├── talos-vm/                 # Módulo VM (disco único)
└── talos-config/             # Módulo configuración

💡 Cómo Funciona

Enfoque RAW con Backing Files:

Imagen RAW base (referencia read-only)
    │
    ├──> VM1 disk (QCOW2 backing file) ✅ Sin conflictos
    └──> VM2 disk (QCOW2 backing file) ✅ Sin conflictos
  • Cada VM tiene su propio QCOW2
  • QCOW2 solo guarda diferencias vs. base
  • Sin conflictos de bloqueo
  • Talos pre-instalado

📊 Especificaciones

  • Hypervisor: Ubuntu 25.04 @ 192.168.1.10
  • OS: Talos Linux v1.11.2
  • Red: 10.0.0.0/24
  • Control Plane: 1 nodo (2 vCPU, 2GB RAM)
  • Workers: 1 nodo (2 vCPU, 3GB RAM)

Ver layers/README.md para más detalles.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published