Perché il mio pod dell'applicazione è bloccato in Container creating quando tenti di montare File Storage for VPC?

Risolvere i problemi relativi alla creazione dei contenitori di file nei cluster VPC.

Quando si tenta di distribuire un'applicazione che utilizza File Storage for VPC, vengono visualizzati uno o più dei seguenti messaggi di errore.

Comando di esempio per richiamare i log del driver ibm-vpc-file-csi.

kubectl logs ibm-vpc-file-csi-node-xxx -n kube-system -c iks-vpc-file-node-driver

Output di esempio con messaggio di errore.

ibmcsidriver/node.go:94","msg":"CSINodeServer-NodePublishVolume..."
ibmcsidriver/node.go:160","msg":"CSINodeServer-NodeUnpublishVolume..."

Comando describe pod di esempio.

kubectl describe pod ibm-vpc-file-csi-node-xxx -n kube-system -c iks-vpc-file-node-driver

Output di esempio con messaggio di errore.

Warning FailedMount 68s kubelet MountVolume.SetUp failed for volume "pvc-c37fe511-ec6d-44c1-8c55-1b5e2c21ec5b" : rpc error: code = DeadlineExceeded desc = context deadline exceeded
Warning FailedMount 65s kubelet Unable to attach or mount volumes: unmounted volumes=[test-persistent-storage], unattached volumes=[], failed to process volumes=[]: timed out waiting for the condition

Comando di esempio per ottenere i log pipelineruns.

kubectl logs cat -n pipelineruns

Output di esempio con messaggio di errore.

Error from server (BadRequest): container "cat" in pod "cat" is waiting to start: ContainerCreating

Un'interruzione temporanea della rete potrebbe causare l'irraggiungibilità e lo smontaggio delle condivisioni file.

Segui i passaggi riportati di seguito per risolvere il problema.

Nelle versioni 1.25 e successive sono state introdotte nuove regole per i gruppi di sicurezza. Queste modifiche alle regole comportano la necessità di sincronizzare i gruppi di sicurezza prima di poter utilizzare File Storage for VPC. Se il cluster è stato creato inizialmente con la versione 1.25 o precedente, eseguire i seguenti comandi per sincronizzare le impostazioni del gruppo di sicurezza.

  • Se il cluster è stato creato inizialmente con la versione 1.25 o precedente:

    1. Ottieni l'ID del tuo cluster.
        ibmcloud ks cluster ls
        ```
    1. Ottiene l'ID del gruppo di sicurezza `kube-<clusterID>`.
    ```sh {: pre}
        ibmcloud is sg kube-<cluster-id>  | grep ID
        ```
    1. Sincronizzare il gruppo di sicurezza `kube-<clusterID>` utilizzando l'ID recuperato nel passaggio precedente.
    ```sh {: pre}
        ibmcloud ks security-group sync -c <cluster ID> --security-group <ID>
        ```
    
  • Se il cluster è stato creato con la versione 1.25 e successive, verificare che il nodo worker in cui è distribuito il pod sia inserito nel gruppo di sicurezza VNI.

  1. Se il problema persiste, contattare il supporto. Apri un caso di supporto. Nei dettagli del caso, assicurarsi di includere i file di log, i messaggi di errore o gli output dei comandi pertinenti.