IBM Cloud File Storage for VPC 관리

클러스터에서 퍼시스턴트 스토리지를 설정할 때, 스토리지를 요청하는 Kubernetes 퍼시스턴트 볼륨 클레임(PVC), 파드에 마운트되고 PVC에 설명된 Kubernetes 퍼시스턴트 볼륨(PV), 파일 공유의 세 가지 주요 구성 요소가 있습니다. 스토리지를 작성한 방법에 따라 3개 컴포넌트 모두를 별도로 삭제해야 할 수 있습니다.

애드온에는 다음과 같은 제한 사항이 적용됩니다.

  • 클러스터와 VPC가 동일한 리소스 그룹에 속하는 것이 좋습니다. 클러스터와 VPC가 별도의 리소스 그룹에 있는 경우 파일 공유를 프로비저닝하기 전에 자체 스토리지 클래스를 생성하고 VPC 리소스 그룹 ID를 제공해야 합니다. 자세한 내용은 다음을 참조하세요.나만의 스토리지 클래스 만들기.
  • 클러스터 버전에 새로운 보안 그룹 규칙이 도입되었습니다. 4.11 그리고 나중에. 이러한 규칙 변경은 보안 그룹을 사용하기 전에 먼저 보안 그룹을 동기화해야 함을 의미합니다.File Storage for VPC. 자세한 내용은 다음을 참조하세요.첨가File Storage for VPC 앱에.
  • 새로운 스토리지 클래스가 버전에 추가되었습니다.2.0 추가 기능의. 더 이상 이전 스토리지 클래스를 사용하는 새 파일 공유를 프로비저닝할 수 없습니다. 이전 스토리지 클래스를 사용하는 기존 볼륨은 계속 작동하지만 이전 클래스를 사용하여 생성된 볼륨은 확장할 수 없습니다. 자세한 내용은 다음을 참조하세요.새 스토리지 클래스로 마이그레이션.

File Storage for VPC 클러스터 추가 기능 업데이트

Red Hat OpenShift 클러스터에 액세스하십시오.

  1. 클러스터 ID를 가져오십시오.

    ibmcloud oc cluster ls
    
  2. 사용 가능한 애드온 버전을 검토하세요.

    ibmcloud oc cluster addon versions
    
  3. 추가 기능을 사용 안함으로 설정하십시오.

    ibmcloud oc cluster addon disable vpc-file-csi-driver --cluster CLUSTER
    
  4. 새 버전의 추가 기능을 사용으로 설정하십시오.

    ibmcloud oc cluster addon enable vpc-file-csi-driver --cluster CLUSTER --version VERSION
    
  5. 다음 명령을 실행하여 추가 기능이 사용으로 설정되었는지 확인하십시오.

    oc get deploy -n kube-system | grep file
    
    ibm-vpc-file-csi-controller   2/2     2            2           13m
    
    oc get ds -n kube-system | grep file
    
    ibm-vpc-file-csi-node    2         2         2       2            2           <none>          14m
    
    oc get pods -n kube-system  | grep file
    
    ibm-vpc-file-csi-controller-7899db784-kc29g   5/5     Running   0             14m
    ibm-vpc-file-csi-controller-7899db784-mp5jt   5/5     Running   0             14m
    ibm-vpc-file-csi-node-bfqdz                   4/4     Running   0             14m
    ibm-vpc-file-csi-node-n7jbx                   4/4     Running   0             14m
    

컨피그맵에서 리소스 및 요청 제한 설정하기

  1. 다음 명령을 실행하여 configmap을 편집하십시오.

    oc edit cm addon-vpc-file-csi-driver-configmap -n kube-system
    

    출력 예.

    apiVersion: v1
    data:
      CSIBlockDriverCPULimit: 300m
      CSIBlockDriverCPURequest: 75m
      CSIBlockDriverMemoryLimit: 600Mi
      CSIBlockDriverMemoryRequest: 150Mi
      CSIDriverRegistrarCPULimit: 40m
      CSIDriverRegistrarCPURequest: 10m
      CSIDriverRegistrarMemoryLimit: 80Mi
      CSIDriverRegistrarMemoryRequest: 20Mi
      CSILivenessProbeCPULimit: 20m
      CSILivenessProbeCPURequest: 5m
      CSILivenessProbeMemoryLimit: 40Mi
      CSILivenessProbeMemoryRequest: 10Mi
      CSINodeDriverCPULimit: 120m
      CSINodeDriverCPURequest: 30m
      CSINodeDriverMemoryLimit: 300Mi
      CSINodeDriverMemoryRequest: 75Mi
      CSIProvisionerCPULimit: 80m
      CSIProvisionerCPURequest: 20m
      CSIProvisionerMemoryLimit: 160Mi
      CSIProvisionerMemoryRequest: 40Mi
      CSIResizerCPULimit: 80m
      CSIResizerCPURequest: 20m
      CSIResizerMemoryLimit: 160Mi
      CSIResizerMemoryRequest: 40Mi
      EIT_ENABLED_WORKER_POOLS: ""
      ENABLE_EIT: "false"
      SET_DEFAULT_STORAGE_CLASS: ""
      SecretSidecarCPULimit: 60m
      SecretSidecarCPURequest: 15m
      SecretSidecarMemoryLimit: 80Mi
      SecretSidecarMemoryRequest: 20Mi
    kind: ConfigMap
    metadata:
      creationTimestamp: "2025-06-19T11:23:13Z"
      labels:
        app.kubernetes.io/name: ibm-vpc-file-csi-driver
      name: addon-vpc-file-csi-driver-configmap
    
  2. 필요에 따라 매개변수를 편집한 다음 파일을 저장합니다.

추가 기능 사용 안함

vpc-file-csi-driver 를 사용 안함으로 설정하면 작업자 노드에서 전송 중인 암호화 패키지가 제거됩니다.

  1. 다음 명령을 실행하여 부가 기능을 비활성화합니다.

    ibmcloud oc cluster addon disable --addon vpc-file-csi-driver --cluster CLUSTER
    
  2. 팟 (Pod) 이 제거되었는지 확인하십시오.

    oc get pods -n kube-system  | grep file
    

스토리지 제거 옵션 이해

태깅은 버전에서 지원되지 1.2 않았습니다. 이는 --force-delete-storage 옵션을 사용하여 클러스터를 삭제할 때 파일 공유 제거에 영향을 줍니다. 클러스터를 삭제하기 전에 1.2 애드온 버전으로 생성된 모든 PVC를 정리해야 합니다.

IBM Cloud 계정에서 지속적 스토리지를 제거하는 것은 스토리지를 프로비저닝한 방식과 이미 제거한 컴포넌트에 따라 다릅니다.

클러스터를 삭제하면 영구 저장소가 삭제되나요?
클러스터 삭제 중에 지속적 스토리지를 제거하는 옵션이 있습니다. 그러나 스토리지가 프로비저닝된 방식에 따라 스토리지 제거에는 모든 스토리지 컴포넌트가 포함되지 않을 수 있습니다. reclaimPolicy: Delete 로 설정된 스토리지 클래스로 스토리지를 동적으로 프로비저닝한 경우 클러스터를 삭제할 때 PVC, PV 및 스토리지 인스턴스가 자동으로 삭제됩니다. 정적으로 프로비저닝된 스토리지 또는 스토리지 클래스가 reclaimPolicy: Retain 로 설정된 스토리지의 경우 클러스터를 삭제할 때 PVC와 PV는 제거되지만 스토리지 인스턴스와 데이터는 그대로 유지됩니다. 계속해서 스토리지 인스턴스에 대한 비용이 청구됩니다. 또한 비정상 상태에서 클러스터를 삭제한 경우, 제거를 선택했어도 스토리지가 아직 존재할 수 있습니다.
클러스터를 유지하려는 경우 스토리지를 삭제하려면 어떻게 하나요?
reclaimPolicy: Delete를 설정하는 스토리지 클래스로 스토리지를 동적으로 프로비저닝한 경우 PVC를 제거하여 지속적 스토리지의 삭제 프로세스를 시작할 수 있습니다. 사용자 PVC, PV 및 스토리지 인스턴스가 자동으로 제거됩니다. 정적으로 프로비저닝된 스토리지 또는 reclaimPolicy: Retain 로 설정된 스토리지 클래스로 프로비저닝한 스토리지의 경우 추가 요금이 부과되지 않도록 PVC, PV 및 스토리지 인스턴스를 수동으로 제거해야 합니다.
스토리지를 삭제한 후 청구가 어떻게 중지되나요?
삭제하는 스토리지 컴포넌트 항목과 시점에 따라 비용 청구 주기가 즉시 중지되지 않을 수 있습니다. PVC 및 PV를 삭제하지만 IBM Cloud 계정의 스토리지 인스턴스는 삭제하지 않은 경우, 해당 인스턴스는 계속 존재하게 되며 이에 대한 비용을 지불하게 됩니다.

PVC, PV 및 스토리지 인스턴스를 삭제하는 경우 비용 청구 주기는 스토리지를 프로비저닝할 때 선택한 billingType과 스토리지를 삭제하도록 선택한 방식에 따라 달라집니다.

  • IBM Cloud 콘솔 또는 CLI에서 영구 저장소 인스턴스를 수동으로 취소하면 다음과 같이 청구가 중지됩니다:

    • 시간별 스토리지: 비용 청구가 즉시 중지됩니다. 스토리지가 취소된 후 최대 72시간 동안 스토리지 인스턴스가 콘솔에 표시될 수 있습니다.
    • 월별 스토리지: 즉시 취소 또는 기념일에 취소 중에서 선택할 수 있습니다. 두 경우 모두 현재 비용 청구 주기가 끝날 때까지 계속해서 비용이 청구되며 다음 비용 청구 주기에 대한 비용 청구가 중지됩니다. 스토리지가 취소된 후 최대 72시간 동안 스토리지 인스턴스가 콘솔 또는 CLI에 표시될 수 있습니다.
    • 즉시 취소: 스토리지를 즉시 제거할 경우 이 옵션을 선택합니다. 사용자가 스토리지를 더 이상 사용하지 않거나 데이터를 복구하지 않는 경우가 해당됩니다.
    • 기념일: 다음 기념일에 스토리지를 취소할 경우 이 옵션을 선택합니다. 예를 들어, 데이터를 백업할 시간을 팀에 알려주기 위해 스토리지 인스턴스는 다음 기념일까지 활성 상태로 유지되며 이 날짜까지 계속해서 사용할 수 있습니다.
  • reclaimPolicy: Delete를 설정하는 스토리지 클래스로 스토리지를 동적으로 프로비저닝하고 PVC를 제거하도록 선택하는 경우 PV 및 스토리지 인스턴스가 즉시 제거됩니다. 매시간 비용 청구된 스토리지의 경우, 비용 청구가 즉시 중지됩니다. 매월 청구되는 스토리지의 경우 해당 월의 나머지에 대해 비용이 청구됩니다. 스토리지가 제거되고 비용 청구가 중지된 후 최대 72시간 동안 스토리지 인스턴스가 콘솔 또는 CLI에 표시될 수 있습니다.

영구 저장소를 삭제하기 전에 주의해야 할 사항은 무엇인가요?
지속적 스토리지를 정리하면 그 안에 저장된 모든 데이터가 삭제됩니다. 데이터 사본이 필요한 경우 백업을 만드세요.
스토리지 인스턴스를 삭제했습니다. 왜 여전히 내 인스턴스를 볼 수 있나요?
지속적 스토리지를 제거한 후 제거가 완전히 처리되고 IBM Cloud 콘솔 또는 CLI에서 스토리지가 표시되지 않으려면 최대 72 시간이 걸릴 수 있습니다.

지속적 스토리지 정리

지속적 스토리지에 대한 추가 비용이 부과되지 않도록 IBM Cloud 계정에서 PVC, PV 및 스토리지 인스턴스를 제거합니다.

시작하기 전에:

지속적 데이터를 정리하려면 다음을 수행하십시오.

  1. 클러스터의 PVC를 나열하고 PVC의 NAME, STORAGECLASS, 그리고 PVC에 바인드되고 **VOLUME**으로 표시되는 PV의 이름을 기록해 두십시오.

    oc get pvc
    

    출력 예

    NAME                  STATUS    VOLUME                                     CAPACITY   ACCESSMODES   STORAGECLASS            AGE
    claim1   Bound     pvc-06886b77-102b-11e8-968a-f6612bb731fb   20Gi       RWO           class       78d
    claim2     Bound     pvc-457a2b96-fafc-11e7-8ff9-b6c8f770356c   4Gi        RWX           class 105d
    claim3      Bound     pvc-1efef0ba-0c48-11e8-968a-f6612bb731fb   24Gi       RWX           class        83d
    
  2. 스토리지 클래스에 대한 ReclaimPolicy 및 **billingType**을 검토하십시오.

    oc describe storageclass <storageclass_name>
    

    재확보 정책에서 Delete를 표시하는 경우에는 PVC를 제거할 때 PV 및 실제 스토리지가 제거됩니다. 재확보 정책에서 Retain을 표시하거나 사용자가 스토리지 클래스 없이 스토리지를 프로비저닝한 경우에는 PVC를 제거할 때 PV 및 실제 스토리지가 제거되지 않습니다. 사용자가 PVC, PV 및 실제 스토리지를 개별적으로 제거해야 합니다.

    스토리지가 매월 비용 청구되는 경우에는 비용 청구 주기가 종료되기 전에 스토리지를 제거해도 여전히 해당 월 전체에 대해 비용이 청구됩니다.

  3. PVC를 마운트하는 팟(Pod)을 제거하십시오. PVC를 마운트하는 팟(Pod)을 나열하십시오. 팟(Pod)이 CLI 출력에서 리턴되지 않으면 PVC를 사용하는 팟(Pod)이 없는 것입니다.

    oc get pods --all-namespaces -o=jsonpath='{range .items[*]}{"\n"}{.metadata.name}{":\t"}{range .spec.volumes[*]}{.persistentVolumeClaim.claimName}{" "}{end}{end}' | grep "<pvc_name>"
    

    출력 예

    depl-12345-prz7b:    claim1
    
  4. PVC를 사용하는 팟(Pod)을 제거하십시오. 팟(Pod)이 배치의 일부인 경우에는 배치를 제거하십시오.

    oc delete pod <pod_name>
    
  5. 팟(Pod)이 제거되었는지 확인하십시오.

    oc get pods
    
  6. PVC를 제거하십시오.

    oc delete pvc <pvc_name>
    
  7. PV의 상태를 검토하십시오. 이전에 검색한 PV의 이름을 **VOLUME**으로 사용하십시오. PVC를 제거하면 PVC에 바인드된 PV가 릴리스됩니다. 스토리지를 프로비저닝하는 방법에 따라, PV는 Deleting 상태(PV가 자동 삭제되는 경우) 또는 Released 상태(PV를 수동 삭제해야 하는 경우)가 됩니다. 참고: 자동 삭제되는 PV의 경우에는 삭제되기 전에 상태가 잠시 Released로 표시될 수 있습니다. 잠시 후에 명령을 다시 실행하면 PV가 제거되었는지 여부를 볼 수 있습니다.

    oc get pv <pv_name>
    
  8. PV가 삭제되지 않은 경우에는 PV를 수동으로 제거하십시오.

    oc delete pv <pv_name>
    
  9. PV가 제거되었는지 확인하십시오.

    oc get pv
    
  10. 공유를 나열하십시오.

    ibmcloud is shares
    
  11. 각 파일 공유를 나열하고 연관된 클러스터 ID를 찾으십시오.

    ibmcloud is share SHARE | grep CLUSTER-ID
    
  12. 공유를 삭제하십시오.

    ibmcloud is share-delete (SHARE1 SHARE2 ...)