Debug di errori degli archivi permanenti
Rivedi le opzioni per eseguire il debug dell'archiviazione persistente e trovare le cause principali degli errori.
Verifica che il pod che monta l'istanza di archiviazione sia stato distribuito correttamente
-
Elenca i pod nel tuo cluster. Un pod è stato distribuito correttamente se lo stato del pod è Running.
oc get pods -
Ottieni i dettagli del tuo pod e controlla se vengono visualizzati errori nella sezione Events dell'output della tua CLI.
oc describe pod <pod_name> -
Richiama i log della tua applicazione e controlla se sono presenti messaggi di errore.
oc logs <pod_name>
Riavvio del tuo pod dell'applicazione
-
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.
oc delete pod <pod_name>oc apply -f <app.yaml> -
Se il riavvio del pod non risolve il problema, ricarica il tuo nodo di lavoro.
-
Accertati di utilizzare la versione più recente di IBM Cloud e del plug-in IBM Cloud Kubernetes Service.
ibmcloud updateibmcloud plugin repo-plugins
Verificare che il driver di archiviazione e i pod plug-in presentino lo stato “In esecuzione ”
- 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, 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 <pod_name> -n kube-system -o jsonpath="{.spec['containers','initContainers'][*].name}" | tr -s '[[:space:]]' '\n' ``` Output di esempio per Block Storage for VPC con tre contenitori: ```sh {: screen} csi-provisioner csi-attacher iks-vpc-block-driver ``` Output di esempio per Block Storage for Classic: ```sh {: pre} ibmcloud-block-storage-driver-container ``` 2. Esporta i log dal pod del driver in un file `logs.txt` sulla tua macchina locale. Includi il nome del contenitore del driver. ```sh {: pre} oc logs <pod_name> -n kube-system -c <container_name> > logs.txt ``` 3. Riesamina il file di log. ```sh {: pre} cat logs.txt ``` - Analizza la sezione Events (Eventi) dell'output della CLI del comando
oc describe pode i log più recenti per trovare la causa principale per l'errore.
Verifica se il tuo PVC è stato configurato correttamente.
-
Controlla la condizione della tua PVC. Il provisioning della PVC viene eseguito correttamente se lo stato della PVC è Bound (Collegato).
oc get pvc -
Se lo stato della PVC è Pending, richiama l'errore per cui la PVC resta in sospeso.
oc describe pvc <pvc_name> -
Esamina gli errori comuni che possono verificarsi durante la creazione della PVC.
-
Esamina gli errori comuni che possono verificarsi quando monti una PVC nella tua applicazione.
-
Verifica che la versione della CLI di
kubectleseguita sulla macchina locale corrisponda alla versione Kubernetes installata nel tuo cluster. Se utilizzi una versione della CLIkubectlche non corrisponde almeno alla versione major.minor del tuo cluster, potresti riscontrare risultati imprevisti. Ad esempio, [ Kubernetes non supporta le versioni client dikubectlche presentano una differenza di 2 o più versioni rispetto alla versione server (n ± 2).- Visualizza la versione della CLI di
kubectlinstallata nel tuo cluster e la tua macchina locale.
oc version ``` Output di esempio ```sh {: screen} Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.36", 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.36+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 `+IKS` della versione del server. 2. Se le versioni della CLI di `kubectl` sul tuo computer locale e sul tuo cluster non corrispondono, [aggiorna il cluster](/docs/openshift?topic=openshift-update) oppure [installa una versione diversa della CLI sul tuo computer locale](/docs/openshift?topic=openshift-cli-install). - Visualizza la versione della CLI di
-
Per Block Storage for VPC, verifica di disporre della versione più recente del componente aggiuntivo.
-
Solo per l'archiviazione blocchi classica, l'archiviazione oggetti e Portworx: assicurati di aver installato la versione più recente del grafico Helm per il plugin.
Archiviazione blocchi e oggetti:
1. Aggiorna i tuoi repository di grafici Helm.
```sh {: pre}
helm repo update
```
2. Elenca i grafici Helm del repository.
**Per l'archiviazione blocchi classica**:
```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
```
**Per l'archiviazione oggetti**:
```sh {: pre}
helm search repo ibm-charts | grep object-storage-plugin
```
Output di esempio
```sh {: screen}
ibm-charts/ibm-object-storage-plugin 1.0.9 1.0.9 A Helm chart for installing ibmcloud object 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 di archiviazione blocchi IBM Cloud](/docs/openshift?topic=openshift-vpc-block#vpc-addon-update) e [Aggiornamento del plug-in IBM Cloud Object Storage](/docs/openshift?topic=openshift-storage_cos_install#update_cos_plugin).
Portworx
-
Trova l'ultima versione della classifica " Helm " e disponibile.
-
Elenca i grafici Helm installati nel tuo cluster e confronta la versione che hai installato con quella disponibile.
helm list --all-namespaces -
Se è disponibile una versione più recente, installarla. Per istruzioni, vedi Aggiornamento di Portworx nel tuo cluster.
OpenShift Data Foundation
Descrivere le risorse ODF ed esaminare gli output del comando per eventuali messaggi di errore.
- Elencare il nome del cluster ODF.
Output di esempio:oc get ocsclusterNAME AGE ocscluster-vpc 71d - Descrivere il cluster di archiviazione ed esaminare la sezione
Eventsdell'output per eventuali messaggi di errore.oc describe ocscluster <ocscluster-name> - Elenca i pod nello spazio dei nomi
kube-systeme verifica che sianoRunning.oc get pods -n kube-system - Descrivi il pod
ibm-ocs-operator-controller-managere rivedi la sezioneEventsnell'output per eventuali messaggi di errore.oc describe pod <ibm-ocs-operator-controller-manager-a1a1a1a> -n kube-system - Esaminare i log di
ibm-ocs-operator-controller-manager.oc logs <ibm-ocs-operator-controller-manager-a1a1a1a> -n kube-system - Descrivere NooBaa ed esaminare la sezione
Eventsdell'output per eventuali messaggi di errore.oc describe noobaa -n openshift-storage