2025년 1월 14일 화요일

deployment에서 pvc를 이용하여 볼륨을 이용하는 방법과 상세 경로 설정을 지정하는 법

Kubernetes 클러스터에서 NetApp NFS 스토리지를 사용하기 위한 구성을 설명해드리겠습니다.

  1. 먼저 NFS 프로비저너를 설치해야 합니다:
helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
helm install nfs-provisioner nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \
    --set nfs.server=<NetApp_NFS_IP> \
    --set nfs.path=/your/exported/path
  1. StorageClass 생성:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: netapp-nfs
  annotations:
    storageclass.kubernetes.io/is-default-class: "true"
provisioner: k8s-sigs.io/nfs-subdir-external-provisioner
parameters:
  archiveOnDelete: "false"
  pathPattern: "${.PVC.namespace}/${.PVC.name}"  # 이는 NFS 내의 경로 패턴을 정의합니다
  1. PVC(PersistentVolumeClaim) 생성:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: app-data
  namespace: your-namespace
spec:
  accessModes:
    - ReadWriteMany  # NFS는 여러 파드에서 동시 접근 가능
  storageClassName: netapp-nfs
  resources:
    requests:
      storage: 10Gi
  1. Deployment에서 PVC 사용:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: your-app
  namespace: your-namespace
spec:
  replicas: 3
  selector:
    matchLabels:
      app: your-app
  template:
    metadata:
      labels:
        app: your-app
    spec:
      containers:
      - name: app
        image: your-image:tag
        volumeMounts:
        - name: app-storage
          mountPath: /app/data  # 컨테이너 내부의 마운트 경로
          subPath: data  # PV 내의 하위 경로 (선택사항)
      volumes:
      - name: app-storage
        persistentVolumeClaim:
          claimName: app-data

특정 경로 설정을 위한 팁:

  • subPath: PV 내의 특정 하위 디렉토리를 마운트할 때 사용
  • mountPath: 컨테이너 내부의 마운트 위치 지정
  • StorageClass의 pathPattern을 사용하여 NFS 서버 내의 디렉토리 구조 정의 가능

주의사항:

  1. NetApp NFS 서버의 export 설정이 올바르게 되어 있어야 합니다
  2. 모든 Kubernetes 노드에 NFS 클라이언트가 설치되어 있어야 합니다
  3. 네트워크 방화벽이 NFS 포트(일반적으로 2049)를 허용해야 합니다

이런 설정을 통해 파드들은 NetApp 스토리지에 영구적으로 데이터를 저장하고 접근할 수 있게 됩니다.

댓글 없음:

댓글 쓰기

구약성서의 구조

공동번역 성경의 구분과 용어로 설명해드리겠습니다. 오경 창세기: 세상과 인류의 시작, 이스라엘 민족의 조상들 탈출기: 이집트 탈출과 십계명 레위기: 예배와 제사 규정 민수기: 광야 생활 신명기: 모세의 마지막 가르침 역사서 ...