Gerenciando IBM Cloud File Storage for VPC

Ao configurar o armazenamento persistente em seu cluster, você tem três componentes principais: a reivindicação de volume persistente (PVC) Kubernetes que solicita o armazenamento, o volume persistente (PV) Kubernetes que é montado em um pod e descrito no PVC e o compartilhamento de arquivos. Dependendo de como você criou seu armazenamento, pode ser necessário excluir todos os três componentes separadamente.

As seguintes limitações se aplicam ao add-on.

  • É recomendável que o cluster e o VPC façam parte do mesmo grupo de recursos. Se o cluster e a VPC estiverem em grupos de recursos separados, antes de poder provisionar compartilhamentos de arquivos, você deverá criar sua própria classe de armazenamento e fornecer o ID do grupo de recursos da VPC. Para mais informações, veja Criando sua própria classe de armazenamento.
  • Novas regras de grupo de segurança foram introduzidas em versões de cluster 4.11 e depois. Essas alterações de regras significam que você deve sincronizar seus grupos de segurança antes de poder usarFile Storage for VPC. Para mais informações, veja AdicionandoFile Storage for VPC para aplicativos.
  • Novas classes de armazenamento foram adicionadas com a versão2.0 do complemento. Você não pode mais provisionar novos compartilhamentos de arquivos que usam classes de armazenamento mais antigas. Os volumes existentes que usam as classes de armazenamento mais antigas continuam a funcionar, mas não é possível expandir os volumes que foram criados usando as classes mais antigas. Para obter mais informações, consulte o Migrando para uma nova classe de armazenamento.

Atualizando o complemento do cluster File Storage for VPC

Acesse o seu Red Hat OpenShift cluster.

  1. Obtenha o ID do cluster.

    ibmcloud oc cluster ls
    
  2. Analise as versões de complemento disponíveis.

    ibmcloud oc cluster addon versions
    
  3. Desative o complemento .

    ibmcloud oc cluster addon disable vpc-file-csi-driver --cluster CLUSTER
    
  4. Ative a versão mais recente do complemento

    ibmcloud oc cluster addon enable vpc-file-csi-driver --cluster CLUSTER --version VERSION
    
  5. Verifique se o complemento está ativado, executando os comandos a seguir:

    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
    

Definição de limites de recursos e solicitações no configmap

  1. Execute o comando a seguir para editar o configmap.

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

    Exemplo de saída.

    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. Edite os parâmetros conforme necessário e salve o arquivo.

Desativando o complemento

Desativar o vpc-file-csi-driver remove os pacotes de criptografia em trânsito de seus nós do trabalhador.

  1. Execute o seguinte comando para desativar o complemento.

    ibmcloud oc cluster addon disable --addon vpc-file-csi-driver --cluster CLUSTER
    
  2. Verifique se os pods foram removidos

    oc get pods -n kube-system  | grep file
    

Entendendo suas opções de remoção de armazenamento

A marcação não era suportada na versão 1.2. Isso afeta a remoção de compartilhamentos de arquivo quando um cluster é excluído com a opção --force-delete-storage.. Certifique-se de limpar todos os PVCs que foram criados com a versão 1.2 do add-on antes de excluir o cluster.

A remoção do armazenamento persistente de sua conta do IBM Cloud varia dependendo de como você provisionou o armazenamento e quais componentes você já removeu.

Meu armazenamento persistente é excluído quando eu excluo meu cluster?
Durante a exclusão do cluster, você tem a opção de remover seu armazenamento persistente. No entanto, dependendo de como seu armazenamento foi provisionado, a remoção de seu armazenamento pode não incluir todos os componentes de armazenamento. Se você provisionou dinamicamente o armazenamento com uma classe de armazenamento que define reclaimPolicy: Delete, seu PVC, PV e a instância de armazenamento são automaticamente excluídos quando você exclui o cluster. No caso do armazenamento provisionado estaticamente ou do armazenamento provisionado com uma classe de armazenamento que define reclaimPolicy: Retain, o PVC e o PV são removidos quando você exclui o cluster, mas a instância de armazenamento e os dados permanecem. Você ainda é cobrado por sua instância de armazenamento. Além disso, se você excluiu seu cluster em um estado não funcional, o armazenamento ainda poderá existir mesmo se você escolheu removê-lo.
Como faço para excluir o armazenamento quando quero manter meu cluster?
Ao provisionar dinamicamente o armazenamento com uma classe de armazenamento que configura reclaimPolicy: Delete, é possível remover o PVC para iniciar o processo de exclusão de seu armazenamento persistente. O PVC, o PV e a instância de armazenamento são removidos automaticamente. No caso do armazenamento provisionado estaticamente ou do armazenamento provisionado com uma classe de armazenamento que define reclaimPolicy: Retain, você deve remover manualmente o PVC, o PV e a instância de armazenamento para evitar cobranças adicionais.
Como a cobrança é interrompida depois que eu excluo meu armazenamento?
Dependendo de quais componentes de armazenamento você excluir e quando, o ciclo de faturamento pode não parar imediatamente. Se você excluir o PVC e o PV, mas não a instância de armazenamento em sua conta do IBM Cloud, essa instância ainda existirá e você será cobrado por ela.

Se você excluir o PVC, o PV e a instância de armazenamento, o ciclo de faturamento parará, dependendo do billingType que você escolheu ao provisionar seu armazenamento e de como escolheu excluir o armazenamento.

  • Quando você cancela manualmente a instância de armazenamento persistente no console IBM Cloud ou na CLI, o faturamento é interrompido da seguinte forma:

    • Armazenamento por hora: o faturamento é parado imediatamente. Depois que seu armazenamento for cancelado, você ainda poderá ver sua instância de armazenamento no console por até 72 horas.
    • Armazenamento mensal: é possível escolher entre cancelamento imediato ou cancelamento na data do aniversário. Em ambos os casos, você é faturado até o término do ciclo de faturamento atual e as paradas de faturamento para o próximo ciclo de faturamento. Depois que seu armazenamento for cancelado, você ainda poderá ver sua instância de armazenamento no console ou na CLI por até 72 horas.
    • Cancelamento imediato: escolha essa opção para remover imediatamente seu armazenamento. Nem você nem seus usuários poderão mais usar o armazenamento ou recuperar os dados.
    • Data do aniversário: escolha essa opção para cancelar seu armazenamento na data do próximo aniversário. Suas instâncias de armazenamento permanecem ativas até a data do próximo aniversário e é possível continuar a usá-las até essa data para que a sua equipe tenha tempo para fazer backups dos dados.
  • Ao provisionar dinamicamente o armazenamento com uma classe de armazenamento que configura reclaimPolicy: Delete e você optar por remover o PVC, o PV e a instância de armazenamento serão removidos imediatamente. Para armazenamento em faturamento por hora, o faturamento é parado imediatamente. Para o armazenamento faturado mensal, você ainda é cobrado pelo restante do mês. Depois que seu armazenamento for removido e o faturamento for interrompido, você ainda poderá ver sua instância de armazenamento no console ou na CLI por até 72 horas.

Do que preciso estar ciente antes de excluir o armazenamento persistente?
Ao limpar o armazenamento persistente, você exclui todos os dados que estão armazenados nele. Se precisar de uma cópia dos dados, faça um backup.
Excluí minha instância de armazenamento. Por que ainda consigo ver minha instância?
Depois de remover o armazenamento persistente, ele pode levar até 72 horas para que a remoção seja totalmente processada e para que o armazenamento desapareça do console ou da CLI do IBM Cloud.

Limpando o armazenamento persistente

Remova o PVC, o PV e a instância de armazenamento de sua conta do IBM Cloud para evitar encargos adicionais para seu armazenamento persistente.

Antes de Iniciar:

Para limpar os dados persistentes:

  1. Liste os PVCs em seu cluster e anote o NAME do PVC, o STORAGECLASS e o nome do PV que está ligado ao PVC e mostrado como VOLUME.

    oc get pvc
    

    Saída de exemplo

    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. Revise o ReclaimPolicy e o billingType para a classe de armazenamento.

    oc describe storageclass <storageclass_name>
    

    Se a política de recuperação indicar Delete, seu PV e o armazenamento físico serão removidos quando você remover o PVC. Se a política de recuperação indicar Retain ou se você provisionar o armazenamento sem uma classe de armazenamento, o PV e o armazenamento físico não serão removidos quando o PVC for removido. Deve-se remover o PVC, o PV e o armazenamento físico separadamente.

    Se o seu armazenamento for cobrado mensalmente, você ainda será cobrado pelo mês inteiro, mesmo se remover o armazenamento antes do término do ciclo de faturamento.

  3. Remova quaisquer pods que montam o PVC. Liste os pods que montam o PVC. Se nenhum pod for retornado na saída da CLI, você não tem um pod que usa PVC.

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

    Saída de exemplo

    depl-12345-prz7b:    claim1
    
  4. Remova o pod que usa o PVC. Se o pod fizer parte de uma implementação, remova a implementação.

    oc delete pod <pod_name>
    
  5. Verifique se o pod foi removido.

    oc get pods
    
  6. Remova a PVC.

    oc delete pvc <pvc_name>
    
  7. Revise o status de seu PV. Use o nome do PV que você recuperou anteriormente como VOLUME. Quando você remove o PVC, o PV que está ligado ao PVC é liberado. Dependendo de como você provisionou seu armazenamento, seu PV entrará em um estado Deleting se o PV for excluído automaticamente ou em um estado Released se o PV deverá ser excluído manualmente. Nota: para PVs que são excluídos automaticamente, o status pode indicar brevemente Released antes de ser excluído. Execute novamente o comando após alguns minutos para ver se o PV foi removido.

    oc get pv <pv_name>
    
  8. Se o seu PV não for excluído, remova-o manualmente.

    oc delete pv <pv_name>
    
  9. Verifique se o PV foi removido.

    oc get pv
    
  10. Liste suas ações.

    ibmcloud is shares
    
  11. Listar cada compartilhamento de arquivo e localizar o ID do cluster associado.

    ibmcloud is share SHARE | grep CLUSTER-ID
    
  12. Excluir os compartilhamentos.

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