Gestione di IBM Cloud File Storage for VPC

Quando si configura l'archiviazione persistente nel cluster, si hanno tre componenti principali: la richiesta di volume persistente (PVC) Kubernetes che richiede l'archiviazione, il volume persistente (PV) Kubernetes che viene montato su un pod e descritto nel PVC e la condivisione di file. A seconda di come hai eseguito la creazione della tua archiviazione, potresti dover eliminare tutti e tre i componenti separatamente.

Al componente aggiuntivo si applicano le seguenti limitazioni.

  • È consigliabile che il cluster e il VPC facciano parte dello stesso gruppo di risorse. Se il tuo cluster e il VPC si trovano in gruppi di risorse separati, prima di poter eseguire il provisioning delle condivisioni file, devi creare la tua classe di archiviazione e fornire l'ID del gruppo di risorse VPC. Per ulteriori informazioni, vedere Creazione della propria classe di archiviazione.
  • Sono state introdotte nuove regole per i gruppi di sicurezza nelle versioni cluster 4.11 e più tardi. Queste modifiche alle regole implicano che devi sincronizzare i tuoi gruppi di sicurezza prima di poterli utilizzareFile Storage for VPC. Per ulteriori informazioni, vedere AggiuntaFile Storage for VPC alle app.
  • Nuove classi di archiviazione sono state aggiunte con version2.0 del componente aggiuntivo. Non è più possibile effettuare il provisioning di nuove condivisioni file che utilizzano le classi di archiviazione precedenti. I volumi esistenti che utilizzano le classi di archiviazione precedenti continuano a funzionare, tuttavia non è possibile espandere i volumi creati utilizzando le classi precedenti. Per ulteriori informazioni, vedere il Migrazione a una nuova classe di archiviazione.

Aggiornamento del componente aggiuntivo del cluster File Storage for VPC

Accedi al tuo cluster Red Hat OpenShift.

  1. Ottieni il tuo ID cluster.

    ibmcloud oc cluster ls
    
  2. Esaminare le versioni dei componenti aggiuntivi disponibili.

    ibmcloud oc cluster addon versions
    
  3. Disabilita il componente aggiuntivo.

    ibmcloud oc cluster addon disable vpc-file-csi-driver --cluster CLUSTER
    
  4. Abilitare la versione più recente del componente aggiuntivo.

    ibmcloud oc cluster addon enable vpc-file-csi-driver --cluster CLUSTER --version VERSION
    
  5. Verificare che il componente aggiuntivo sia abilitato eseguendo i seguenti comandi.

    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
    

Impostazione dei limiti delle risorse e delle richieste nella mappa di configurazione

  1. Eseguire il seguente comando per modificare la mappa di configurazione.

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

    Output di esempio.

    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. Modificare i parametri come necessario e salvare il file.

Disabilitazione del componente aggiuntivo

La disabilitazione di vpc-file-csi-driver rimuove i package di crittografia in transito dai nodi di lavoro.

  1. Eseguire il seguente comando per disabilitare il componente aggiuntivo.

    ibmcloud oc cluster addon disable --addon vpc-file-csi-driver --cluster CLUSTER
    
  2. Verifica che i pod siano stati rimossi.

    oc get pods -n kube-system  | grep file
    

Descrizione delle tue opzioni di rimozione dell'archiviazione

Il tagging non era supportato nella versione 1.2. Ciò influenza la rimozione delle condivisioni file quando un cluster viene eliminato con l'opzione --force-delete-storage. Assicurarsi di pulire tutti i PVC creati con la versione 1.2 del componente aggiuntivo prima di eliminare il cluster.

La rimozione dell'archiviazione persistente dal tuo account IBM Cloud varia a seconda di come hai eseguito il provisioning dell'archiviazione e di quali componenti hai già rimosso.

L'archiviazione persistente viene cancellata quando si elimina il cluster?
Durante l'eliminazione del cluster, hai l'opzione di rimuovere la tua archiviazione persistente. Tuttavia, a seconda di come è stato eseguito il provisioning della tua archiviazione, la rimozione della tua archiviazione potrebbe non includere tutti i componenti di archiviazione. Se lo storage è stato fornito dinamicamente con una classe di storage che imposta reclaimPolicy: Delete, il PVC, il PV e l'istanza di storage vengono eliminati automaticamente quando si elimina il cluster. Per lo storage fornito staticamente o per lo storage fornito con una classe di storage che imposta reclaimPolicy: Retain, il PVC e il PV vengono rimossi quando si elimina il cluster, ma l'istanza di storage e i dati rimangono. Ti vengono ancora addebitati dei costi per la tua istanza di archiviazione. Tuttavia, se hai eliminato il tuo cluster in uno stato non integro, l'archiviazione potrebbe permanere anche se hai scelto di rimuoverla.
Come si elimina lo storage quando si vuole mantenere il cluster?
Quando hai eseguito il provisioning in modo dinamico dell'archiviazione con una classe di archiviazione che imposta reclaimPolicy: Delete, puoi rimuovere la PVC per avviare il processo di eliminazione della tua archiviazione persistente. La PVC, il PV e l'istanza di archiviazione vengono automaticamente rimossi. Per lo storage fornito staticamente o per lo storage fornito con una classe di storage che imposta reclaimPolicy: Retain, è necessario rimuovere manualmente il PVC, il PV e l'istanza di storage per evitare ulteriori addebiti.
Come si interrompe la fatturazione dopo aver cancellato il mio archivio?
A seconda di quali componenti di archiviazione elimini e quando, il ciclo di fatturazione potrebbe non arrestarsi immediatamente. Se elimini la PVC e il PV ma non l'istanza di archiviazione nel tuo account IBM Cloud, tale istanza permane e incorri in addebiti per essa.

Se elimini la PVC, il PV e l'istanza di archiviazione, il ciclo di fatturazione si arresta in base al tipo di fatturazione (billingType) che hai scelto quando hai eseguito il provisioning della tua archiviazione e di come scegli di eliminare l'archiviazione.

  • Quando si annulla manualmente l'istanza di archiviazione persistente dalla console IBM Cloud o dalla CLI, la fatturazione si interrompe come segue:

    • Archiviazione oraria: la fatturazione si arresta immediatamente. Dopo che la tua archiviazione è stata annullata, potresti ancora vedere la tua istanza di archiviazione nella console per un massimo di 72 ore.
    • Archiviazione mensile: puoi scegliere tra l'annullamento immediato o l'annullamento alla data di anniversario. In entrambi i casi, ti vengono addebitati dei costi fino al termine del ciclo di fatturazione corrente e la fatturazione si arresta per il successivo ciclo di fatturazione. Dopo che la tua archiviazione è stata annullata, potresti ancora vedere la tua istanza di archiviazione nella console o nella CLI per un massimo di 72 ore.
    • Annullamento immediato: scegli questa opzione per rimuovere immediatamente la tua archiviazione. Né tu né i tuoi utenti potete più utilizzare l'archiviazione o ripristinare i dati.
    • Data di anniversario: scegli questa opzione per annullare la tua archiviazione alla prossima data di anniversario. Le tue istanze dell'archiviazione rimangono attive fino alla successiva data di anniversario e puoi continuare a utilizzarle fino a questa data, ad esempio per dare ai tuoi team il tempo di effettuare dei backup dei tuoi dati.
  • Quando hai eseguito il provisioning in modo dinamico dell'archiviazione con una classe di archiviazione che imposta reclaimPolicy: Delete e scegli di rimuovere la PVC, il PV e l'istanza di archiviazione vengono automaticamente rimossi. Per l'archiviazione fatturata su base oraria, la fatturazione di arresta immediatamente. Per l'archiviazione fatturata su base mensile, incorri ancora in degli addebiti per il periodo rimanente del mese. Dopo che la tua archiviazione è stata rimossa e la fatturazione si è arrestata, potresti ancora vedere la tua istanza di archiviazione nella console o nella CLI per un massimo di 72 ore.

Di cosa devo essere consapevole prima di eliminare l'archiviazione persistente?
Quando ripulisci l'archiviazione persistente, elimini tutti i dati in essa archiviati. Se hai bisogno di una copia dei dati, esegui un backup.
Ho cancellato la mia istanza di archiviazione. Perché posso ancora vedere la mia istanza?
Dopo che hai rimosso l'archiviazione persistente, ci possono volere 72 ore perché la rimozione venga elaborata completamente e perché l'archiviazione scompaia dalla CLI o dalla console IBM Cloud.

Ripulitura dell'archiviazione persistente

Rimuovi la PVC, il PV e l'istanza di archiviazione dal tuo account IBM Cloud per evitare ulteriori addebiti per la tua archiviazione persistente.

Prima di cominciare:

Per ripulire i dati persistenti:

  1. Elenca le PVC nel tuo cluster e prendi nota del NAME della PVC, della STORAGECLASS e del nome del PV associato alla PVC e visualizzato come VOLUME.

    oc get pvc
    

    Output di esempio

    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. Esamina ReclaimPolicy e billingType per la classe di archiviazione.

    oc describe storageclass <storageclass_name>
    

    Se la politica di riacquisizione indica Delete, il tuo PV e l'archiviazione fisica vengono rimossi quando rimuovi la PVC. Se la politica di riacquisizione indica Retain, o se hai eseguito il provisioning della tua archiviazione senza una classe di archiviazione, il tuo PV e l'archiviazione fisica non vengono rimossi quando rimuovi la PVC. Devi rimuovere la PVC, il PV e l'archiviazione fisica separatamente.

    Se la tua archiviazione viene addebitata mensilmente, ti viene comunque addebitato l'importo per l'intero mese, anche se rimuovi l'archiviazione prima della fine del ciclo di fatturazione.

  3. Rimuovi gli eventuali pod che montano la PVC. Elenca i pod che montano la PVC. Se non viene restituito alcun pod nell'output della CLI, non si dispone di un pod che utilizza il PVC.

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

    Output di esempio

    depl-12345-prz7b:    claim1
    
  4. Rimuovi il pod che utilizza la PVC. Se il pod fa parte di una distribuzione, rimuovi la distribuzione.

    oc delete pod <pod_name>
    
  5. Verifica che il pod venga rimosso.

    oc get pods
    
  6. Rimuovi la PVC.

    oc delete pvc <pvc_name>
    
  7. Esamina lo stato del tuo PV. Utilizza il nome del PV che hai richiamato in precedenza come VOLUME. Quando rimuovi la PVC, il PV ad essa associato viene rilasciato. A seconda di come hai eseguito il provisioning della tua archiviazione, il tuo PV passa a uno stato di Deleting, se il PV viene eliminato automaticamente, oppure a uno stato di Released, se devi eliminarlo manualmente. Nota:: per i PV eliminati automaticamente, lo stato potrebbe brevemente indicare Released prima che venga eliminato. Riesegui il comando dopo qualche minuto per appurare se il PV viene rimosso.

    oc get pv <pv_name>
    
  8. Se il tuo PV non viene eliminato, rimuovilo manualmente.

    oc delete pv <pv_name>
    
  9. Verifica che il PV venga rimosso.

    oc get pv
    
  10. Elencare le condivisioni.

    ibmcloud is shares
    
  11. Elencare ogni condivisione file e trovare l'ID cluster associato.

    ibmcloud is share SHARE | grep CLUSTER-ID
    
  12. Eliminare le condivisioni.

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