Actualizar minio/readme.md
This commit is contained in:
@@ -1,9 +0,0 @@
|
||||
Servicios actualizados (site-a y site-b):
|
||||
- Selector reducido a `app: minio`
|
||||
- targetPort numérico 9000/9001
|
||||
Aplica con:
|
||||
kubectl apply -f site-a/service.yaml
|
||||
kubectl apply -f site-b/service.yaml
|
||||
Luego verifica:
|
||||
kubectl -n minio-site-a get endpoints minio -o wide
|
||||
kubectl -n minio-site-b get endpoints minio -o wide
|
||||
78
minio/readme.md
Normal file
78
minio/readme.md
Normal file
@@ -0,0 +1,78 @@
|
||||
# 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).
|
||||
Reference in New Issue
Block a user