Debug degli errori Block Storage for Classic
Esamina le opzioni per eseguire il debug Block Storage for Classic e individuare le cause principali di eventuali guasti.
Verifica che il pod che monta l'istanza di archiviazione sia stato distribuito correttamente
Attieniti alla procedura per esaminare eventuali messaggi di errore correlati alla distribuzione del pod.
-
Elenca i pod nel tuo cluster. Un pod è stato distribuito correttamente se lo stato del pod è Running.
oc get pods -
Verifica i dettagli del tuo pod ed esamina eventuali messaggi di errore visualizzati nella sezione "Eventi " dell'output della CLI.
oc describe pod <pod_name> -
Richiama i log per il tuo pod e riesamina eventuali messaggi di errore.
oc logs <pod_name> -
Consultare la Block Storage for Classic per la procedura per risolvere gli errori comuni.
Riavvio del tuo pod dell'applicazione
Alcuni problemi possono essere risolti riavviando e ridistribuendo i tuoi pod. Attieniti alla procedura per ridistribuire un pod specifico.
-
Se il tuo pod fa parte di una distribuzione, elimina il pod e lascia che la distribuzione lo ricrei. Se il pod non fa parte di una distribuzione, elimina il pod e applica nuovamente il suo file di configurazione.
- Elimina il pod.
oc delete pod <pod_name> ``` Output di esempio ```sh {: screen} pod "nginx" deleted ``` 2. Riapplica il file di configurazione per ridistribuire il pod. ```sh {: pre} oc apply -f <app.yaml> ``` Output di esempio ```sh {: pre} pod/nginx created ``` -
Se il riavvio del pod non risolve il problema, ricarica i nodi di lavoro.
-
Accertati di utilizzare la versione più recente di IBM Cloud e del plug-in IBM Cloud Kubernetes Service.
ibmcloud updateibmcloud plugin repo-pluginsibmcloud plugin update
Verificare che il driver di archiviazione e i pod plug-in presentino lo stato “In esecuzione ”
Attieniti alla procedura per controllare lo stato del tuo driver di archiviazione e dei pod del plug-in ed esaminare eventuali messaggi di errore.
-
Elenca i pod nel progetto
kube-system.oc get pods -n kube-system -
Se il driver di archiviazione e i pod plug-in non mostrano lo stato " In esecuzione ", ottenere ulteriori dettagli sul pod per individuare la causa principale. A seconda dello stato del tuo pod, i seguenti comandi potrebbero avere esito negativo.
- Ottieni i nomi dei contenitori che vengono eseguiti nel pod del driver.
kubectl describe pod POD_NAME -n kube-system ``` 2. Esporta i log dal pod del driver in un file `logs.txt` sulla tua macchina locale. ```sh {: pre} oc logs <pod_name> -n kube-system > logs.txt ``` 3. Riesamina il file di log. ```sh {: pre} cat logs.txt ``` -
Se il driver di archiviazione e i pod plug-in non mostrano lo stato " In esecuzione ", ottenere ulteriori dettagli sul pod per individuare la causa principale. A seconda dello stato del tuo pod, potresti non essere in grado di eseguire tutti i comandi riportati di seguito.
- Ottieni i nomi dei contenitori che vengono eseguiti nel pod del driver.
kubectl get pod ibm-vpc-block-csi-controller-0 -n kube-system -o jsonpath="{.spec['containers','initContainers'][*].name}" | tr -s '[[:space:]]' '\n' ``` **Esempio di output per Block Storage for VPC** ```sh {: screen} csi-provisioner csi-attacher liveness-probe iks-vpc-block-driver ``` 2. Esporta i log del container dal pod del driver in un file `logs.txt` sul tuo computer locale. ```sh {: pre} oc logs <pod_name> -n kube-system -c <container_name> > logs.txt ``` -
Controllare i log più recenti per eventuali messaggi di errore. Consultare la Block Storage for Classic per la procedura per risolvere gli errori comuni.
Verifica se il tuo PVC è stato configurato correttamente.
Attieniti alla procedura per controllare lo stato della tua PVC ed esaminare eventuali messaggi di errore.
-
Controlla lo stato della tua PVC. Il provisioning della PVC viene eseguito correttamente se lo stato della PVC è Bound (Collegato).
oc get pvc-
Se la PVC mostra uno stato di Bound, il provisioning della PVC viene eseguito correttamente.
Output di esempio
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE silver-pvc Bound pvc-4b881a6b-ada8-4a44-b568-fe909107d756 24Gi RWX ibmc-file-silver 7m29s -
Se lo stato della PVC mostra In sospeso, descrivere la PVC ed esaminare la sezione Eventi dell'output per eventuali avvertenze o messaggi di errore. Nota che le PVC che fanno riferimento a classi di archiviazione con la modalità di bind del volume impostata su
WaitForFirstConsumerrimangono in sospeso fino a quando non viene distribuito un pod dell'applicazione che utilizza la PVC.oc describe pvc <pvc_name>Output di esempio
Name: local-pvc Namespace: default StorageClass: sat-local-file-gold Status: Pending Volume: Labels: <none> Annotations: <none> Finalizers: [kubernetes.io/pvc-protection] Capacity: Access Modes: VolumeMode: Filesystem Mounted By: <none> Events: Type Reason Age From Message ---- ------ ---- ---- ------- Warning ProvisioningFailed 60s (x42 over 11m) persistentvolume-controller storageclass.storage.k8s.io "sat-local-file-gold" not found
-
-
Consultare la Block Storage for Classic per la procedura per risolvere gli errori comuni.
Controllo e aggiornamento della versione della CLI oc
Se si utilizza una versione della CLI di oc che non corrisponde almeno alla versione major.minor del proprio cluster, si potrebbero verificare risultati imprevisti. Ad esempio, Kubernetes non supporta le versioni client di oc che presentano una differenza di 2 o più versioni rispetto alla versione server (n ± 2).
-
Verifica che la versione della CLI di
ocin esecuzione sul tuo computer locale corrisponda alla versione di Kubernetes installata nel tuo cluster. Visualizza la versione della CLI diocinstallata nel tuo cluster e sul tuo computer locale.oc versionOutput di esempio:
Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.35", GitCommit:"641856db18352033a0d96dbc99153fa3b27298e5", GitTreeState:"clean", BuildDate:"2019-03-25T15:53:57Z", GoVersion:"go1.12.1", Compiler:"gc", Platform:"darwin/amd64"} Server Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.35+IKS", GitCommit:"e15454c2216a73b59e9a059fd2def4e6712a7cf0", GitTreeState:"clean", BuildDate:"2019-04-01T10:08:07Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}Le versioni delle CLI corrispondono se la versione visualizzata per il client e per il server in
GitVersionè la stessa. Puoi ignorare la parte+IKSdella versione del server. -
Se le versioni della CLI di
ocsul tuo computer locale e sul tuo cluster non corrispondono, aggiorna il cluster oppure installa una versione diversa della CLI sul tuo computer locale.
Controllo e aggiornamento del driver Block Storage for Classic
-
Per Block Storage for VPC, verifica di disporre della versione più recente del componente aggiuntivo del cluster Block Storage for VPC.
-
Per Block Storage for Classic sui cluster classici, assicurati di aver installato l'ultima versione del grafico Helm per il plug - in.
- Aggiorna i tuoi repository di grafici Helm.
helm repo update ``` 2. Elenca i grafici Helm del repository. ```sh {: pre} helm search repo iks-charts | grep block-storage-plugin ``` Output di esempio ```sh {: screen} iks-charts-stage/ibmcloud-block-storage-plugin 1.5.0 A Helm chart for installing ibmcloud block storage plugin iks-charts/ibmcloud-block-storage-plugin 1.5.0 A Helm chart for installing ibmcloud block storage plugin ``` 3. Elenca i grafici Helm installati nel tuo cluster e confronta la versione che hai installato con quella disponibile. ```sh {: pre} helm list --all-namespaces ``` 4. Se è disponibile una versione più recente, installarla. Per istruzioni, vedi [Aggiornamento del plug-in IBM Cloud Block Storage](/docs/openshift?topic=openshift-vpc-block#vpc-addon-update).