REFACTOR(minio): integrate API ingress

- Add API ingress (s3.minio0213.kro.kr) to helm-values.yaml
- Move storage-class.yaml, persistent-volumes.yaml to manifests/
- Move console-deployment.yaml to manifests/
- Create console-ingress.yaml in manifests/ for custom console
This commit is contained in:
2026-01-06 15:12:52 +09:00
parent 6a13a52924
commit c46de7c16e
6 changed files with 16 additions and 31 deletions

View File

@@ -0,0 +1,45 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: minio-console
namespace: minio
labels:
app: minio-console
spec:
replicas: 1
selector:
matchLabels:
app: minio-console
template:
metadata:
labels:
app: minio-console
spec:
containers:
- name: console
image: ghcr.io/georgmangold/console:v1.9.1
ports:
- containerPort: 9090
name: http
env:
- name: CONSOLE_MINIO_SERVER
value: "http://minio.minio.svc.cluster.local:9000"
resources:
requests:
cpu: 10m
memory: 64Mi
limits:
memory: 128Mi
---
apiVersion: v1
kind: Service
metadata:
name: minio-console-ui
namespace: minio
spec:
selector:
app: minio-console
ports:
- port: 9090
targetPort: 9090
name: http

View File

@@ -0,0 +1,35 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: minio-console
namespace: minio
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
spec:
ingressClassName: traefik
tls:
- hosts:
- minio.minio0213.kro.kr
- minio0213.kro.kr
secretName: minio-console-tls
rules:
- host: minio.minio0213.kro.kr
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: minio-console-ui
port:
number: 9090
- host: minio0213.kro.kr
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: minio-console-ui
port:
number: 9090

View File

@@ -0,0 +1,96 @@
---
# PV 1: mayne-vcn (master) - /mnt/minio-data1
apiVersion: v1
kind: PersistentVolume
metadata:
name: minio-pv-mayne-vcn-data1
spec:
capacity:
storage: 45Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: minio-local
local:
path: /mnt/minio-data1
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- mayne-vcn
---
# PV 2: mayne-worker-1 - /mnt/minio-data1
apiVersion: v1
kind: PersistentVolume
metadata:
name: minio-pv-worker1-data1
spec:
capacity:
storage: 45Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: minio-local
local:
path: /mnt/minio-data1
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- mayne-worker-1
---
# PV 3: mayne-vcn (master) - /mnt/minio-data2
apiVersion: v1
kind: PersistentVolume
metadata:
name: minio-pv-mayne-vcn-data2
spec:
capacity:
storage: 45Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: minio-local
local:
path: /mnt/minio-data2
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- mayne-vcn
---
# PV 4: mayne-worker-2 - /mnt/minio-data1
apiVersion: v1
kind: PersistentVolume
metadata:
name: minio-pv-worker2-data1
spec:
capacity:
storage: 45Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: minio-local
local:
path: /mnt/minio-data1
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- mayne-worker-2

View File

@@ -0,0 +1,7 @@
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: minio-local
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
reclaimPolicy: Retain