[Object] Kubernetes 환경에서 MinIO 구성 및 테스트 - II - MinIO 사전 준비 > SUSE Rancher자료실

본문 바로가기
사이트 내 전체검색

SUSE Rancher자료실

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

페이지 정보

profile_image
작성자 꿈꾸는여행자
댓글 0건 조회 99회 작성일 26-01-03 00:27

본문

안녕하세요.

 

꿈꾸는여행자입니다.

 


이번 항목에서는 

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 # 


댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

사이트 정보

회사명 : (주)리눅스데이타시스템
대표이사 : 정정모
본사 : 강남구 봉은사로 114길 40 홍선빌딩 2층
- tel : 02-6207-1160
대전지사 : 유성구 노은로174 도원프라자 5층
- tel : 042-331-1161

접속자집계

오늘
2,425
어제
2,585
최대
8,445
전체
2,034,635
Copyright © www.linuxdata.org All rights reserved.