Ativação do arredondamento automático de capacidade para perfis de IOPS fixos

Com o recurso de arredondamento de capacidade do driver CSI de arquivo VPC do IBM, é possível permitir que o driver ajuste automaticamente a capacidade solicitada de uma reivindicação de volume persistente (PVC) quando ela for inferior à capacidade mínima suportada para o perfil de IOPS fixo selecionado. Isso elimina a necessidade de calcular manualmente os valores mínimos de capacidade antes de provisionar compartilhamentos de arquivos.

Como funciona o arredondamento de capacidade

Durante a inicialização do driver, o driver CSI de arquivos VPC do IBM obtém um catálogo compatível de capacidade por IOPS do Catálogo Global do IBM. O catálogo é armazenado em cache na memória e utilizado para todas as solicitações de provisionamento subsequentes. A tabela a seguir descreve o comportamento do driver durante o provisionamento do PVC.

Comportamento do provisionamento de arredondamento de capacidade
Cenário Driver Behavior
O número de IOPS solicitado é compatível e a capacidade solicitada está abaixo do mínimo O driver arredonda a capacidade para o valor mínimo suportado e provisiona o PVC.
O número de IOPS solicitado é compatível e a capacidade solicitada atende ao mínimo O PVC atende à capacidade solicitada.
O número de IOPS solicitado não é compatível O provisionamento falha devido a um erro de validação. Para obter ajuda na resolução desse erro, consulte a seção “Solução de problemas relacionados ao arredondamento de capacidade ”.

Se o Catálogo Global estiver inacessível na inicialização do driver, um aviso será registrado e o arredondamento de capacidade não estará disponível. Todos os demais comportamentos de provisionamento continuam conforme o esperado.

Pré-requisitos

Antes de ativar o arredondamento de capacidade, o driver deve conseguir acessar um Catálogo Glob IBM. Para permitir o acesso, configure um Virtual Private Endpoint Gateway (VPEG) na sua VPC.

  1. Crie um gateway de endpoint privado virtual em sua VPC para o serviço Catálogo Global de Recursos.

    Ao criar o VPEG, configure as seguintes opções:

    • Na seção “Serviços em nuvem ”, selecione “Catálogo de Recursos Globais ”.
    • Em “Endpoints disponíveis”, selecione o endpoint com o tipo de endpoint api e URL, private.globalcatalog.cloud.ibm.com ou *.private.globalcatalog.cloud.ibm.com.

    Utilize os nomes exatos dos serviços e as URLs, conforme exibidos na interface do usuário do IBM Cloud.

  2. Verifique se os nós do seu cluster conseguem acessar o endpoint privado do Catálogo Global. Sem conectividade, o driver exibe um aviso na inicialização, e o arredondamento de capacidade não está disponível. Todos os demais comportamentos de provisionamento continuam conforme o esperado.

Criar um “ StorageClass ” com o arredondamento de capacidade ativado

O arredondamento de capacidade é um recurso opcional que vem desativado por padrão e deve ser ativado conforme StorageClass. Os arquivos StorageClasses existentes não são afetados.

Esse recurso se aplica apenas aos perfis “ dp2 ” StorageClasses que utilizam provisionamento de IOPS fixo. Isso não se aplica às classes de perfil do tipo “ rfs ”.

  1. Crie um arquivo de configuração StorageClass que defina allowCapacityRoundoffForIops: "true" na seção parameters .

    O exemplo a seguir cria um StorageClass com um valor válido de IOPS e o arredondamento de capacidade ativado:

    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. Aplique o StorageClass ao seu cluster.

    oc apply -f ibmc-vpc-file-dp2-roundoff.yaml
    
  3. Verifique se o serviço de gerenciamento de aplicativos ( StorageClass ) está disponível no seu cluster. Procure o nome que você especificou na saída.

    oc get sc
    

Definir um PVC com arredondamento de capacidade

Depois de criar seu StorageClass,, crie um PVC que faça referência a ele. Os exemplos a seguir mostram os dois principais cenários de provisionamento.

Cenário 1: A capacidade está abaixo do mínimo e é arredondada para cima

Neste exemplo, o PVC solicita 80 Gi de armazenamento. Como 80 Gi está abaixo da capacidade mínima suportada para 4.700 IOPS, o driver provisiona automaticamente o compartilhamento de arquivos com a capacidade mínima suportada (100 Gi, neste caso).

  1. Crie um arquivo de configuração do 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. Aplique o PVC.

    oc apply -f my-roundoff-pvc.yaml
    
  3. Verifique se o PVC está vinculado e anote o campo “ CAPACITY ” na saída. A capacidade deve refletir o valor arredondado para cima, e não os 80 Gi solicitados.

    oc get pvc my-roundoff-pvc
    

    Saída de exemplo:

    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
    

    O valor de “ CAPACITY ” é “ 100Gi ”, embora tenha sido solicitado “ 80Gi ”, o que confirma que o driver arredondou para cima até a capacidade mínima suportada.

Cenário 2: A capacidade atende aos requisitos mínimos e às disposições solicitadas

Neste exemplo, o PVC solicita 200 Gi, o que já atende à capacidade mínima suportada para 4.700 IOPS. O driver configura o compartilhamento de arquivos com a capacidade solicitada, sem qualquer ajuste.

  1. Crie um arquivo de configuração do 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. Aplique o PVC.

    oc apply -f my-exact-pvc.yaml
    
  3. Verifique se o PVC está preso. O campo “ CAPACITY ” deve exibir “ 200Gi ”, confirmando que não foi feito nenhum ajuste.

    oc get pvc my-exact-pvc
    

    Saída de exemplo:

    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
    

Próximas etapas