Files

WordPress con Kubernetes

Ejemplo básico de WordPress desplegado en Kubernetes.

🚀 Requisitos

  • Cluster de Kubernetes funcionando (minikube, kind, EKS, GKE, AKS, etc.)
  • kubectl instalado 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