s3.rottigni.tech

Repo #66871620 | |
---|---|
Autor | Lorenzo Rottigni |
Creado en | 2025-02-06 |
Actualizado en | 2025-05-16 |
empujado en | 2025-02-11 |
Tamaño | null MB |
Lenguaje principal | docker |
Conteo de estrellas | 0 |
Branch predeterminado | main |
Kubernetes
Docker
README.md
s3.rottigni.tech
Minio
Deployment
Create the Minio operator:
kubectl apply -f k8s/common/minio-operator.yaml
# or
kubectl apply -k "github.com/minio/operator?ref=v7.0.0"
Localhost (Docker Desktop)
Create a persisted volume for the Minio tenant:
kubectl apply -f k8s/local/minio-tenant.yaml
Create the Minio tenant:
kubectl apply -f k8s/local/minio-volume.yaml
Expose Minio console to the localhost:
kubectl port-forward -n minio-tenant service/myminio-console 9443:9443
Production
Create a persisted volume for the Minio tenant:
kubectl apply -f k8s/prod/minio-tenant.yaml
Create the Minio tenant:
kubectl apply -f k8s/prod/minio-volume.yaml
Create TLS certificate:
kubectl apply -f k8s/prod/certificate.yaml
Expose Minio console via ingress:
kubectl apply -f k8s/prod/ingress.yaml
Configuration
CSI (Container Storage Interface)
It's necessary to manually create a persisted volume with one of the following storage classes:
- hostpath: simpler CSI suitable for development or small application
- directpv: CSI tailored for Minio capable to create distributed volumes across different nodes
Minio tenant manifest configures its own persisted volume claim with a configurable size.
Multiple Servers
It's generally recommended to run the s3 object storage across multiple servers.
- servers: determine the number of minio servers available
- volumesPerServer: determine the number of volumes for each server
Running more than 1 server requires the following stringData configuration:
export MINIO_STORAGE_CLASS_STANDARD="EC:4"
Minio Client
Install the Minio client:
brew install minio/stable/mc
mc --help
Connect to an s3 server:
mc alias set s3-rottigni-tech https://s3.rottigni.tech ACCESS_KEY SECRET_KEY
Reset
Development
kubectl delete ns minio-tenant
kubectl create ns minio-tenant
kubectl apply -f k8s/local/minio-volume.yaml
kubectl apply -f k8s/local/minio-tenant.yaml
watch kubectl events -n minio-tenant
watch kubectl get pods -n minio-tenant
Production
kubectl delete ns minio-tenant
kubectl create ns minio-tenant
kubectl apply -f k8s/s3.rottigni.tech/minio-volume.yaml
kubectl apply -f k8s/s3.rottigni.tech/minio-tenant.yaml
watch kubectl events -n minio-tenant
watch kubectl get pods -n minio-tenant