고정 IOPS 프로필에 대한 자동 용량 반올림 활성화

IBM VPC 파일 CSI 드라이버의 용량 반올림 기능을 사용하면, 요청된 영구 볼륨 클레임(PVC) 용량이 선택한 고정 IOPS 프로필의 최소 지원 용량보다 낮을 때 드라이버가 해당 용량을 자동으로 조정하도록 할 수 있습니다. 이를 통해 파일 공유를 프로비저닝하기 전에 최소 용량 값을 수동으로 계산할 필요가 없어집니다.

용량 반올림 방식의 작동 원리

드라이버가 시작될 때, ‘ IBM ’ VPC 파일 CSI 드라이버는 IBM 글로벌 카탈로그에서 지원되는 용량-IOPS 변환 카탈로그를 가져옵니다. 카탈로그는 메모리에 캐시되어 이후의 모든 프로비저닝 요청에 사용됩니다. 다음 표는 PVC 프로비저닝 과정에서 드라이버의 동작을 설명합니다.

용량 반올림에 따른 프로비저닝 동작
시나리오 Driver Behavior
요청된 IOPS는 지원되며, 요청된 용량은 최소 용량 미만입니다 드라이버는 용량을 지원되는 최소값으로 반올림한 후 PVC를 할당합니다.
요청된 IOPS가 지원되며, 요청된 용량이 최소 요건을 충족합니다 요청된 용량의 PVC를 공급합니다.
요청된 IOPS는 지원되지 않습니다 유효성 검사 오류로 인해 프로비저닝이 실패했습니다. 이 오류를 해결하는 방법에 대한 도움말은 ‘용량 반올림 문제 해결’을 참조하십시오.

드라이버 시작 시 글로벌 카탈로그에 연결할 수 없는 경우, 경고가 로그에 기록되며 용량 반올림 기능을 사용할 수 없습니다. 그 외의 모든 프로비저닝 동작은 예상대로 계속됩니다.

전제조건

용량 반올림 기능을 활성화하기 전에, 드라이버가 IBM 글로벌 카탈로그에 접속할 수 있어야 합니다. 액세스를 허용하려면 VPC에서 가상 사설 엔드포인트 게이트웨이(VPEG)를 구성하십시오.

  1. VPC 내에서 Global Resources Catalog 서비스를 위한 가상 사설 엔드포인트 게이트웨이를 생성하십시오.

    VPEG를 생성할 때 다음 설정을 구성하십시오:

    • '클라우드 서비스 '에서 '글로벌 리소스 카탈로그'를 선택합니다.
    • “사용 가능한 엔드포인트” 에서 엔드포인트 유형이 “ api ”인 엔드포인트 중 URL, private.globalcatalog.cloud.ibm.com 또는 *.private.globalcatalog.cloud.ibm.com 을 선택하십시오.

    IBM Cloud UI에 표시된 것과 정확히 동일한 서비스 이름과 URL을 사용하십시오.

  2. 클러스터 노드가 글로벌 카탈로그의 비공개 엔드포인트에 연결할 수 있는지 확인하십시오. 네트워크 연결이 없는 경우, 드라이버는 시작 시 경고 메시지를 표시하며 용량 반올림 기능을 사용할 수 없습니다. 그 외의 모든 프로비저닝 동작은 예상대로 계속됩니다.

용량 반올림이 활성화된 StorageClass 생성하기

용량 반올림은 기본적으로 비활성화된 선택적 기능이며, StorageClass 에 따라 수동으로 활성화해야 합니다. 기존의 StorageClasses 파일은 영향을 받지 않습니다.

이 기능은 고정 IOPS 프로비저닝을 사용하는 ‘ dp2 ’ 프로필 StorageClasses 에만 적용됩니다. 이는 rfs 프로파일 클래스에는 적용되지 않습니다.

  1. parameters 섹션에서 allowCapacityRoundoffForIops: "true" 을 설정하는 StorageClass 구성 파일을 생성합니다.

    다음 예제는 유효한 IOPS 값을 사용하고 용량 반올림이 활성화된 StorageClass 를 생성합니다:

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: ibmc-vpc-file-dp2-roundoff
      labels:
        app.kubernetes.io/name: ibm-vpc-file-csi-driver
    provisioner: vpc.file.csi.ibm.io
    allowVolumeExpansion: true
    reclaimPolicy: Delete
    mountOptions:
      - hard
      - nfsvers=4.1
      - sec=sys
    parameters:
      allowCapacityRoundoffForIops: "true"
      billingType: hourly
      classVersion: "1"
      encrypted: "false"
      encryptionKey: ""
      gid: "0"
      iops: "4700"
      isENIEnabled: "true"
      primaryIPAddress: ""
      primaryIPID: ""
      profile: dp2
      region: ""
      resourceGroup: ""
      securityGroupIDs: ""
      subnetID: ""
      tags: ""
      uid: "0"
      zone: ""
    volumeBindingMode: Immediate
    
  2. StorageClass 를 클러스터에 적용하십시오.

    oc apply -f ibmc-vpc-file-dp2-roundoff.yaml
    
  3. 클러스터에서 StorageClass 가 사용 가능한지 확인하십시오. 출력 결과에서 지정한 이름을 찾아보세요.

    oc get sc
    

용량 반올림 기능이 있는 PVC 제공

StorageClass, 를 생성한 후, 이를 참조하는 PVC를 생성하십시오. 다음 예시는 두 가지 주요 프로비저닝 시나리오를 보여줍니다.

시나리오 1: 용량이 최소값보다 작을 경우, 위로 반올림된다

이 예시에서 PVC는 80 Gi의 저장 용량을 요청합니다. 80 Gi는 4700 IOPS에 대해 지원되는 최소 용량보다 작기 때문에, 드라이버는 파일 공유를 지원되는 최소 용량(이 경우 100 Gi)으로 자동으로 할당합니다.

  1. PVC 구성 파일을 생성합니다.

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: my-roundoff-pvc
      namespace: default
    spec:
      accessModes:
        - ReadWriteMany
      resources:
        requests:
          storage: 80Gi
      storageClassName: ibmc-vpc-file-dp2-roundoff
    
  2. PVC를 도포하십시오.

    oc apply -f my-roundoff-pvc.yaml
    
  3. PVC가 바인딩되었는지 확인하고, 출력에서 ‘ CAPACITY ’ 필드를 확인하십시오. 용량은 요청된 80 Gi가 아니라 반올림한 값을 반영해야 합니다.

    oc get pvc my-roundoff-pvc
    

    출력 예:

    NAME              STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS                  AGE
    my-roundoff-pvc   Bound    pvc-91ff9a52-5004-4441-9611-be5410edbfe4   100Gi      RWX            ibmc-vpc-file-dp2-roundoff    30s
    

    80Gi 가 요청되었음에도 불구하고, ‘ CAPACITY ’ 값은 100Gi 로 표시되는데, 이는 드라이버가 지원되는 최소 용량으로 올림 처리했음을 확인해 줍니다.

시나리오 2: 용량이 최소 요건을 충족하며 요청된 사항이 반영됨

이 예시에서 PVC는 200 Gi를 요청하며, 이는 이미 4700 IOPS에 대한 최소 지원 용량을 충족합니다. 드라이버는 별도의 조정 없이 요청된 용량대로 파일 공유를 제공합니다.

  1. PVC 구성 파일을 생성합니다.

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: my-exact-pvc
      namespace: default
    spec:
      accessModes:
        - ReadWriteMany
      resources:
        requests:
          storage: 200Gi
      storageClassName: ibmc-vpc-file-dp2-roundoff
    
  2. PVC를 도포하십시오.

    oc apply -f my-exact-pvc.yaml
    
  3. PVC가 제대로 고정되어 있는지 확인하십시오. CAPACITY 필드에는 200Gi 이 표시되어야 하며, 이는 조정이 이루어지지 않았음을 확인시켜 줍니다.

    oc get pvc my-exact-pvc
    

    출력 예:

    NAME           STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS                  AGE
    my-exact-pvc   Bound    pvc-3528044b-b004-4077-b09f-c6cdf7000180   200Gi      RWX            ibmc-vpc-file-dp2-roundoff    24m
    

다음 단계