Files
kubernetes/minio
2025-08-26 23:48:51 +00:00
..
2025-08-27 01:46:41 +02:00
2025-08-27 01:46:41 +02:00
2025-08-26 23:48:51 +00:00

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

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

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).