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.
| 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.
-
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
apie URL,private.globalcatalog.cloud.ibm.comou*.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.
-
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 ”.
-
Crie um arquivo de configuração
StorageClassque definaallowCapacityRoundoffForIops: "true"na seçãoparameters.O exemplo a seguir cria um
StorageClasscom 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 -
Aplique o
StorageClassao seu cluster.oc apply -f ibmc-vpc-file-dp2-roundoff.yaml -
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).
-
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 -
Aplique o PVC.
oc apply -f my-roundoff-pvc.yaml -
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-pvcSaí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 30sO 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.
-
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 -
Aplique o PVC.
oc apply -f my-exact-pvc.yaml -
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-pvcSaí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