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 4.11 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 4.11 o precedente, eseguire i seguenti comandi per sincronizzare le impostazioni del gruppo di sicurezza.

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

    1. Ottieni l'ID del tuo cluster.
        ibmcloud oc 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 4.11 e successive, verificare che il nodo worker in cui è distribuito il pod sia elencato come allow 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.