WordPress con Kubernetes
Ejemplo básico de WordPress desplegado en Kubernetes.
🚀 Requisitos
- Cluster de Kubernetes funcionando (minikube, kind, EKS, GKE, AKS, etc.)
kubectlinstalado y configurado
📦 Instalación
1. Aplicar los manifiestos
kubectl apply -f wordpress-deployment.yaml
2. Verificar el estado
# Ver los pods
kubectl get pods
# Ver los servicios
kubectl get services
# Ver los PVCs
kubectl get pvc
3. Acceder a WordPress
Con minikube:
minikube service wordpress-service
Con LoadBalancer (cloud):
kubectl get service wordpress-service
# Usa la IP externa del LoadBalancer
Con port-forward (desarrollo):
kubectl port-forward service/wordpress-service 8080:80
# Luego abre http://localhost:8080
🛠️ Comandos Útiles
Ver logs
kubectl logs -f deployment/wordpress-deployment
kubectl logs -f deployment/mysql-deployment
Escalar WordPress
kubectl scale deployment wordpress-deployment --replicas=3
Eliminar todo
kubectl delete -f wordpress-deployment.yaml
Ver detalles de un pod
kubectl describe pod <nombre-del-pod>
📝 Notas
- Los PersistentVolumeClaims requieren un StorageClass configurado en tu cluster
- En producción, usa un gestor de secretos (AWS Secrets Manager, HashiCorp Vault, etc.)
- Considera usar Ingress para manejar el tráfico HTTP/HTTPS
- Para alta disponibilidad, configura múltiples réplicas y un LoadBalancer
🔒 Seguridad
⚠️ IMPORTANTE: Este ejemplo usa Secrets en texto plano. En producción:
- Usa un gestor de secretos externo
- Implementa RBAC apropiado
- Configura NetworkPolicies
- Usa certificados SSL/TLS con Ingress