# Setup del Cluster Kubernetes ## Requisitos - Kubernetes 1.28+ - kubectl CLI - helm 3.x - 4 GB RAM mínimo - 20 GB storage ## Instalación Local (Kind/Minikube) ### Con Kind (recomendado para desarrollo) ```bash # Instalar kind brew install kind # macOS # o curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-linux-amd64 chmod +x ./kind sudo mv ./kind /usr/local/bin/kind # Crear cluster con configuración personalizada cat < verify-cluster.sh <<'EOF' #!/bin/bash echo "🔍 Verificando cluster..." echo "✓ Nodes:" kubectl get nodes echo "✓ Namespaces:" kubectl get namespaces echo "✓ Ingress Controller:" kubectl get pods -n ingress-nginx echo "✓ Cert-Manager:" kubectl get pods -n cert-manager echo "✓ Metrics Server:" kubectl top nodes 2>/dev/null || echo "⚠️ Metrics not available yet" echo "✓ Storage Classes:" kubectl get storageclass echo "✅ Cluster setup complete!" EOF chmod +x verify-cluster.sh ./verify-cluster.sh ``` ## Mantenimiento ```bash # Actualizar componentes helm repo update helm upgrade ingress-nginx ingress-nginx/ingress-nginx -n ingress-nginx # Limpiar recursos viejos kubectl delete pods --field-selector=status.phase=Failed -A kubectl delete pods --field-selector=status.phase=Succeeded -A # Backup de configuración kubectl get all --all-namespaces -o yaml > cluster-backup.yaml ``` ## Troubleshooting ```bash # Ver logs de componentes kubectl logs -n ingress-nginx deployment/ingress-nginx-controller kubectl logs -n cert-manager deployment/cert-manager # Describir recursos con problemas kubectl describe pod -n # Eventos del cluster kubectl get events --all-namespaces --sort-by='.lastTimestamp' # Recursos consumidos kubectl top nodes kubectl top pods -A ```