78 lines
2.2 KiB
Markdown
78 lines
2.2 KiB
Markdown
# MinIO en Kubernetes — c2et.net (Site A/B)
|
|
|
|
Este paquete contiene manifiestos sin Helm para desplegar **dos instancias independientes de MinIO**,
|
|
una por site, usando tus StorageClasses `sc-me5-site-a` y `sc-me5-site-b`, y forzando programación por zona.
|
|
|
|
## Estructura
|
|
|
|
```
|
|
minio-k8s-c2et-net/
|
|
site-a/
|
|
namespace.yaml
|
|
secret-root.yaml
|
|
pvc.yaml
|
|
statefulset.yaml
|
|
service.yaml
|
|
ingress-api.yaml
|
|
ingress-console.yaml
|
|
site-b/
|
|
(idéntico con valores del site B)
|
|
```
|
|
|
|
## Credenciales de administración
|
|
- Usuario: **admin**
|
|
- Password: **Pozuelo12345**
|
|
|
|
> Cambia estas credenciales en `secret-root.yaml` antes de ir a producción.
|
|
|
|
## Dominios
|
|
- Site A API: `s3-a.c2et.net`
|
|
- Site A Consola: `console.s3-a.c2et.net`
|
|
- Site B API: `s3-b.c2et.net`
|
|
- Site B Consola: `console.s3-b.c2et.net`
|
|
|
|
Requisitos previos:
|
|
- IngressClass `nginx` operativo.
|
|
- `cert-manager` con `ClusterIssuer` llamado `letsencrypt-prod`.
|
|
- DNS apuntando los hosts anteriores al Ingress Controller.
|
|
|
|
## Despliegue rápido
|
|
|
|
```bash
|
|
kubectl apply -f site-a/namespace.yaml
|
|
kubectl apply -f site-a/secret-root.yaml
|
|
kubectl apply -f site-a/pvc.yaml
|
|
kubectl apply -f site-a/service.yaml
|
|
kubectl apply -f site-a/statefulset.yaml
|
|
kubectl apply -f site-a/ingress-api.yaml
|
|
kubectl apply -f site-a/ingress-console.yaml
|
|
|
|
kubectl apply -f site-b/namespace.yaml
|
|
kubectl apply -f site-b/secret-root.yaml
|
|
kubectl apply -f site-b/pvc.yaml
|
|
kubectl apply -f site-b/service.yaml
|
|
kubectl apply -f site-b/statefulset.yaml
|
|
kubectl apply -f site-b/ingress-api.yaml
|
|
kubectl apply -f site-b/ingress-console.yaml
|
|
```
|
|
|
|
## Probar
|
|
|
|
```bash
|
|
export AWS_ACCESS_KEY_ID=admin
|
|
export AWS_SECRET_ACCESS_KEY='Pozuelo12345'
|
|
export AWS_S3_FORCE_PATH_STYLE=true
|
|
|
|
aws --endpoint-url https://s3-a.c2et.net s3 mb s3://mi-bucket-a
|
|
aws --endpoint-url https://s3-a.c2et.net s3 ls
|
|
|
|
aws --endpoint-url https://s3-b.c2et.net s3 mb s3://mi-bucket-b
|
|
aws --endpoint-url https://s3-b.c2et.net s3 ls
|
|
```
|
|
|
|
## Notas
|
|
|
|
- Los PVC usan `WaitForFirstConsumer` a través de tus StorageClasses; el `nodeSelector` del StatefulSet garantiza
|
|
que cada volumen se cree en el **site** correcto.
|
|
- Imagen MinIO: `quay.io/minio/minio:RELEASE.2025-02-20T00-00-00Z` (ajústala a la que certifiques).
|
|
- Tamaño del PVC por defecto: `2Ti` (modifícalo a tu necesidad). |