87 lines
1.8 KiB
Markdown
87 lines
1.8 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
kubectl apply -f wordpress-deployment.yaml
|
|
```
|
|
|
|
### 2. Verificar el estado
|
|
|
|
```bash
|
|
# Ver los pods
|
|
kubectl get pods
|
|
|
|
# Ver los servicios
|
|
kubectl get services
|
|
|
|
# Ver los PVCs
|
|
kubectl get pvc
|
|
```
|
|
|
|
### 3. Acceder a WordPress
|
|
|
|
#### Con minikube:
|
|
```bash
|
|
minikube service wordpress-service
|
|
```
|
|
|
|
#### Con LoadBalancer (cloud):
|
|
```bash
|
|
kubectl get service wordpress-service
|
|
# Usa la IP externa del LoadBalancer
|
|
```
|
|
|
|
#### Con port-forward (desarrollo):
|
|
```bash
|
|
kubectl port-forward service/wordpress-service 8080:80
|
|
# Luego abre http://localhost:8080
|
|
```
|
|
|
|
## 🛠️ Comandos Útiles
|
|
|
|
### Ver logs
|
|
```bash
|
|
kubectl logs -f deployment/wordpress-deployment
|
|
kubectl logs -f deployment/mysql-deployment
|
|
```
|
|
|
|
### Escalar WordPress
|
|
```bash
|
|
kubectl scale deployment wordpress-deployment --replicas=3
|
|
```
|
|
|
|
### Eliminar todo
|
|
```bash
|
|
kubectl delete -f wordpress-deployment.yaml
|
|
```
|
|
|
|
### Ver detalles de un pod
|
|
```bash
|
|
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
|