[Object] Kubernetes 환경에서 MinIO 구성 및 테스트 - II - MinIO 사전 준비
페이지 정보

본문
안녕하세요.
꿈꾸는여행자입니다.
이번 항목에서는
Helm 기준으로 MinIO를 배포하는 사항입니다.
상세 내역은 아래와 같습니다.
감사합니다.
> 아래
________________
목차
3. Install
3.1. 워커 노드에 HostPath 디렉토리 생성
3.2. StorageClass 없이 Local PV & PVC 미리 생성
3.3. PVC 선언 (예: 2개 디스크 조합)
3.4. values.yaml 작성 (2개 PVC 기반)
________________
3. Install
3.1. 워커 노드에 HostPath 디렉토리 생성
* 모든 워커 노드에서 다음 명령어 실행:
* 1001:1001은 MinIO에서 사용하는 기본 UID:GID입니다.
sudo mkdir -p /mnt/data/minio
sudo chown -R 1001:1001 /mnt/data/minio
sudo mkdir -p /data/minio/disk0
sudo chown -R 1001:1001 /data/minio/disk0
sudo mkdir -p /data/minio/disk1
sudo chown -R 1001:1001 /data/minio/disk1
sudo mkdir -p /data/minio/disk2
sudo chown -R 1001:1001 /data/minio/disk2
sudo mkdir -p /data/minio/disk3
sudo chown -R 1001:1001 /data/minio/disk3
sudo mkdir -p /data/minio/disk4
sudo chown -R 1001:1001 /data/minio/disk4
rke2-mst1:~ # sudo mkdir -p /data/minio/disk0
rke2-mst1:~ # sudo chown -R 1001:1001 /data/minio/disk0
rke2-wkr1:~ # sudo mkdir -p /data/minio/disk1
rke2-wkr1:~ # sudo chown -R 1001:1001 /data/minio/disk1
rke2-mst1:~ # sudo mkdir -p /data/minio/disk2
rke2-mst1:~ # sudo chown -R 1001:1001 /data/minio/disk2
rke2-wkr1:~ # sudo mkdir -p /data/minio/disk3
rke2-wkr1:~ # sudo chown -R 1001:1001 /data/minio/disk3
rke2-wkr1:~ #
3.2. StorageClass 없이 Local PV & PVC 미리 생성
* minio-local-pv.yaml 파일을 작성:
* <NODE1_HOSTNAME>, <NODE2_HOSTNAME> 은 kubectl get nodes -o wide 결과에서 확인 가능
vi minio-local-pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: minio-pv-node1
spec:
capacity:
storage: 100Gi
accessModes:
- ReadWriteOnce
storageClassName: local-storage
local:
path: /mnt/data/minio
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- <NODE1_HOSTNAME>
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: minio-pv-node2
spec:
capacity:
storage: 100Gi
accessModes:
- ReadWriteOnce
storageClassName: local-storage
local:
path: /mnt/data/minio
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- <NODE2_HOSTNAME>
apiVersion: v1
kind: PersistentVolume
metadata:
name: data-minio-pv-0
spec:
capacity:
storage: 100Gi
accessModes:
- ReadWriteOnce
storageClassName: local-storage
local:
path: /data/minio/disk0
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rke2-mst1
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: data-minio-pv-1
spec:
capacity:
storage: 100Gi
accessModes:
- ReadWriteOnce
storageClassName: local-storage
local:
path: /data/minio/disk1
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rke2-wkr1
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: data-minio-pv-2
spec:
capacity:
storage: 100Gi
accessModes:
- ReadWriteOnce
storageClassName: local-storage
local:
path: /data/minio/disk2
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rke2-mst1
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: data-minio-pv-3
spec:
capacity:
storage: 100Gi
accessModes:
- ReadWriteOnce
storageClassName: local-storage
local:
path: /data/minio/disk3
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rke2-wkr1
kubectl apply -f minio-local-pv.yaml
rke2-mst1:~/rke2-artifacts/yaml # vi minio-local-pv.yaml
rke2-mst1:~/rke2-artifacts/yaml # cat minio-local-pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: data-minio-pv-0
spec:
capacity:
storage: 100Gi
accessModes:
- ReadWriteOnce
storageClassName: local-storage
local:
path: /data/minio/disk0
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rke2-wkr1
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: data-minio-pv-1
spec:
capacity:
storage: 100Gi
accessModes:
- ReadWriteOnce
storageClassName: local-storage
local:
path: /data/minio/disk1
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rke2-wkr1
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: data-minio-pv-2
spec:
capacity:
storage: 100Gi
accessModes:
- ReadWriteOnce
storageClassName: local-storage
local:
path: /data/minio/disk2
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rke2-wkr1
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: data-minio-pv-3
spec:
capacity:
storage: 100Gi
accessModes:
- ReadWriteOnce
storageClassName: local-storage
local:
path: /data/minio/disk3
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rke2-wkr1
rke2-mst1:~/rke2-artifacts/yaml #
rke2-mst1:~/rke2-artifacts/yaml # kubectl apply -f minio-local-pv.yaml
persistentvolume/data-minio-pv-0 created
persistentvolume/data-minio-pv-1 created
persistentvolume/data-minio-pv-2 created
persistentvolume/data-minio-pv-3 created
rke2-mst1:~/rke2-artifacts/yaml #
3.3. PVC 선언 (예: 2개 디스크 조합)
vi minio-local-pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: minio-pvc-1
spec:
accessModes:
- ReadWriteOnce
storageClassName: local-storage
resources:
requests:
storage: 100Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: minio-pvc-2
spec:
accessModes:
- ReadWriteOnce
storageClassName: local-storage
resources:
requests:
storage: 100Gi
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: data-minio-pvc-0
namespace: minio
spec:
accessModes:
- ReadWriteOnce
storageClassName: local-storage
resources:
requests:
storage: 100Gi
volumeName: data-minio-pv-0
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: data-minio-pvc-1
namespace: minio
spec:
accessModes:
- ReadWriteOnce
storageClassName: local-storage
resources:
requests:
storage: 100Gi
volumeName: data-minio-pv-1
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: data-minio-pvc-2
namespace: minio
spec:
accessModes:
- ReadWriteOnce
storageClassName: local-storage
resources:
requests:
storage: 100Gi
volumeName: data-minio-pv-2
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: data-minio-pvc-3
namespace: minio
spec:
accessModes:
- ReadWriteOnce
storageClassName: local-storage
resources:
requests:
storage: 100Gi
volumeName: data-minio-pv-3
kubectl apply -f minio-local-pvc.yaml
3.4. values.yaml 작성 (2개 PVC 기반)
vi minio-values.yaml
mode: distributed
replicaCount: 2
drivesPerNode: 1
persistence:
enabled: true
accessMode: ReadWriteOnce
size: 100Gi
service:
type: ClusterIP
port: "9000"
nodePort: 32000
rke2-mst1:~/rke2-artifacts # vi minio-values.yaml
rke2-mst1:~/rke2-artifacts # cat minio-values.yaml
mode: distributed
replicaCount: 2
drivesPerNode: 1
persistence:
enabled: true
accessMode: ReadWriteOnce
size: 100Gi
service:
type: ClusterIP
port: "9000"
nodePort: 32000
rke2-mst1:~/rke2-artifacts #
- 이전글[Object] Kubernetes 환경에서 MinIO 구성 및 테스트 - III - MinIO 구축 26.01.16
- 다음글[Object] Kubernetes 환경에서 MinIO 구성 및 테스트 - I - MinIO 사전 준비 25.12.24
댓글목록
등록된 댓글이 없습니다.