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 스토리지에 영구적으로 데이터를 저장하고 접근할 수 있게 됩니다.

댓글 없음:

댓글 쓰기

Ubuntu에서 socks proxy 간단 사용

SSH를 이용한 SOCKS 프록시 설정 가장 간단한 방법은 SSH를 이용하여 SOCKS 프록시를 설정하는 것: ssh -D 1080 사용자명@원격서버주소 이 명령어는 로컬 포트 1080에 SOCKS 프록시 서버를 생성한다. 브라우저 설정 프...