Files
infrastructure/data-storage/minio/k8s-deployment.yaml

101 lines
1.8 KiB
YAML
Raw Normal View History

# MinIO Object Storage Kubernetes Deployment
apiVersion: v1
kind: Namespace
metadata:
name: data-storage
---
apiVersion: v1
kind: Secret
metadata:
name: minio-secret
namespace: data-storage
type: Opaque
stringData:
MINIO_ROOT_USER: minioadmin
MINIO_ROOT_PASSWORD: change-me-in-production
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: minio
namespace: data-storage
spec:
serviceName: minio
replicas: 4
selector:
matchLabels:
app: minio
template:
metadata:
labels:
app: minio
spec:
containers:
- name: minio
image: minio/minio:latest
args:
- server
- /data
- --console-address
- ":9001"
envFrom:
- secretRef:
name: minio-secret
ports:
- containerPort: 9000
name: api
- containerPort: 9001
name: console
volumeMounts:
- name: data
mountPath: /data
resources:
requests:
memory: "512Mi"
cpu: "250m"
limits:
memory: "1Gi"
cpu: "500m"
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes: ["ReadWriteOnce"]
storageClassName: standard
resources:
requests:
storage: 100Gi
---
apiVersion: v1
kind: Service
metadata:
name: minio
namespace: data-storage
spec:
clusterIP: None
ports:
- port: 9000
targetPort: 9000
name: api
- port: 9001
targetPort: 9001
name: console
selector:
app: minio
---
apiVersion: v1
kind: Service
metadata:
name: minio-console
namespace: data-storage
spec:
type: LoadBalancer
ports:
- port: 9001
targetPort: 9001
name: console
selector:
app: minio