Files
storage/minio/helm-values/minio.yaml
Mayne0213 ecb04fc14a FEAT(velero): configure minio
- for selective velero backup
Added pod annotation to exclude PVC data from Velero backups while
preserving MinIO resource definitions:
- backup.velero.io/backup-volumes-excludes: export

This prevents circular backup of the velero-backups bucket while
still backing up MinIO StatefulSet, Services, and configuration.

Note: MinIO bucket data (bucket, bucket-dev, velero-backups) will
NOT be backed up. Consider separate backup strategy for critical
bucket data if needed.
2026-01-04 23:47:13 +09:00

92 lines
2.3 KiB
YAML

# MinIO Helm Values
# Chart: https://github.com/minio/minio/tree/master/helm/minio
# Mode: Distributed with Erasure Coding (4 drives total)
#
# Disk allocation:
# - master node: 1 x 50GB (1 disk for MinIO, 1 for MariaDB)
# - worker-1: 2 x 50GB (2 disks for MinIO)
# - worker-2: 1 x 50GB (1 disk for MinIO)
# Total: 4 drives for erasure coding
# Use latest MinIO image
image:
repository: quay.io/minio/minio
tag: latest
pullPolicy: IfNotPresent
# 4 replicas, 1 drive per replica = 4 drives total
replicas: 4
# Number of drives per node (each pod uses 1 drive)
drivesPerNode: 1
# Persistence - using dedicated 50GB disks
persistence:
enabled: true
size: 45Gi
storageClass: minio-local
# Root credentials from SealedSecret
# Secret contains: root-user and root-password keys
existingSecret: minio-root-password
rootUserSecretKey: root-user
rootPasswordSecretKey: root-password
# Resources
resources:
requests:
memory: 512Mi
cpu: 30m # Reduced to 30% of original (100m -> 30m)
# Service
service:
type: ClusterIP
port: 9000
# Console service
consoleService:
type: ClusterIP
port: 9001
# Environment variables
environment:
MINIO_API_CORS_ALLOW_ORIGIN: "*"
MINIO_BROWSER_REDIRECT_URL: "https://minio.minio0213.kro.kr"
MINIO_PROMETHEUS_AUTH_TYPE: "public"
# Ingress disabled (managed separately)
ingress:
enabled: false
consoleIngress:
enabled: false
# Disable Kubernetes service links to prevent MINIO_SERVICE_PORT conflict
# This prevents Kubernetes from injecting service-related environment variables
enableServiceLinks: false
# Pod annotations for Velero backup exclusion
# Exclude PVC data from backup (prevent circular backup of velero-backups bucket)
# MinIO resources (StatefulSet, Service, etc.) will still be backed up
podAnnotations:
backup.velero.io/backup-volumes-excludes: export
# Use soft anti-affinity since worker-1 needs 2 pods (has 2 disks)
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchExpressions:
- key: app
operator: In
values:
- minio
topologyKey: kubernetes.io/hostname
# Prometheus metrics
metrics:
serviceMonitor:
enabled: false