Depuración de errores de OpenShift Data Foundation
Revise las opciones para depurar ODF y busque el origen de las anomalías.
Comprobar si el pod que monta la instancia de almacenamiento se ha desplegado correctamente
Siga los pasos para revisar los mensajes de error relacionados con el despliegue del pod.
-
Obtenga una lista de pods en el clúster. Un pod se ha desplegado correctamente si muestra el estado Running.
oc get pods
-
Obtenga los detalles del pod y revise los mensajes de error que se muestran en la sección Events de la salida de la CLI.
oc describe pod <pod_name>
-
Recupere los registros para el pod y revise los mensajes de error.
oc logs <pod_name>
Reiniciar el pod de app
Algunos problemas se pueden resolver reiniciando y volviendo a desplegar los pods. Siga los pasos para volver a desplegar un pod específico.
-
Si el pod forma parte de un despliegue, suprima el pod y deje que el despliegue lo reconstruya. Si no forma parte de un despliegue, suprímalo y vuelva a aplicar el archivo de configuración de pod.
- Suprima el pod.
Salida de ejemplooc delete pod <pod_name>
pod "nginx" deleted
- Vuelva a aplicar el archivo de configuración para volver a desplegar el pod.
Salida de ejemplooc apply -f <app.yaml>
pod/nginx created
- Suprima el pod.
-
Si el reinicio del pod no resuelve el problema, vuelva a cargar los nodos trabajadores.
-
Verifique que utiliza la última versión de IBM Cloud y del plugin de IBM Cloud Kubernetes Service.
ibmcloud update
ibmcloud plugin repo-plugins
ibmcloud plugin update
Verificar que el controlador de almacenamiento y los pods de plugin muestran un estado Running
Siga los pasos para comprobar el estado del controlador de almacenamiento y los pods de plugin y revise los mensajes de error.
-
Obtenga una lista de los pods del proyecto
kube-system
.oc get pods -n kube-system
-
Si el controlador de almacenamiento y los pods de plugin no muestran un estado de Ejecución, obtenga más detalles del pod para encontrar la causa raíz. Dependiendo del estado del pod, puede que fallen los comandos siguientes.
-
Obtenga los nombres de los contenedores que se ejecutan en el pod del controlador.
kubectl describe pod <pod_name> -n kube-system
-
Exporte los registros del pod de controlador a un archivo
logs.txt
en la máquina local.oc logs <pod_name> -n kube-system > logs.txt
-
Revise el archivo de registro.
cat logs.txt
-
-
Consulte los registros más recientes para ver si hay mensajes de error. Revise en la documentación de resolución de problemas de ODF los pasos para resolver los errores comunes.
Comprobación y actualización de la versión de CLI de oc
Si utiliza una versión de CLI de oc
que no coincide al menos con la versión major.minor del clúster, es posible que experimente resultados inesperados. Por ejemplo, Kubernetes no admite versiones de cliente de oc
que estén separadas por 2 o más versiones de la versión del servidor (n +/- 2).
-
Verifique que la versión de CLI de
oc
que ejecuta en la máquina local coincide con la versión de Kubernetes instalada en el clúster. Muestre la versión de CLI deoc
que está instalada en el clúster y en la máquina local.oc version
Salida de ejemplo:
Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.32", 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.32+IKS", GitCommit:"e15454c2216a73b59e9a059fd2def4e6712a7cf0", GitTreeState:"clean", BuildDate:"2019-04-01T10:08:07Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}
Las versiones de la CLI coinciden si aparece la misma versión en
GitVersion
para el cliente y para el servidor. Puede pasar por alto la parte+IKS
de la versión del servidor. -
Si las versiones de la CLI de
oc
en su máquina local y su clúster no coinciden, actualice su clúster o instale una versión diferente de la CLI en su máquina local.
Depuración de los recursos de ODF
Describa los recursos de ODF y revise si hay mensajes de error en la salida de los mandatos.
-
Liste el nombre del clúster de ODF.
oc get ocscluster
Salida de ejemplo:
NAME AGE ocscluster-vpc 71d
-
Describa el clúster de almacenamiento y revise si la sección
Events
de la salida contiene algún mensaje de error.oc describe ocscluster <ocscluster-name>
-
Liste los pods ODF en el espacio de nombres
kube-system
y verifique que su estado seaRunning
oc get pods -n kube-system
Salida de ejemplo
NAME READY STATUS RESTARTS AGE ibm-keepalived-watcher-5g2gs 1/1 Running 0 7d21h ibm-keepalived-watcher-8l4ld 1/1 Running 0 7d21h ibm-keepalived-watcher-mhkh5 1/1 Running 0 7d21h ibm-master-proxy-static-10.240.128.10 2/2 Running 0 71d ibm-master-proxy-static-10.240.128.11 2/2 Running 0 71d ibm-master-proxy-static-10.240.128.12 2/2 Running 0 71d ibm-ocs-operator-controller-manager-55667f4d68-md4zb 1/1 Running 8 15d ibm-vpc-block-csi-controller-0 4/4 Running 0 48d ibm-vpc-block-csi-node-6gnwv 3/3 Running 0 48d ibm-vpc-block-csi-node-j2h62 3/3 Running 0 48d ibm-vpc-block-csi-node-xpwpf 3/3 Running 0 48d vpn-5b8694cdb-pll6z
-
Describa el pod
ibm-ocs-operator-controller-manager
y revise si la secciónEvents
de la salida contiene algún mensaje de error.oc describe pod <ibm-ocs-operator-controller-manager-a1a1a1a> -n kube-system
-
Revise los registros de
ibm-ocs-operator-controller-manager
.oc logs <ibm-ocs-operator-controller-manager-a1a1a1a> -n kube-system
-
Describa NooBaa y revise si la sección
Events
de la salida contiene algún mensaje de error.oc describe noobaa -n openshift-storage
-
Describa el pod
ibm-storage-metrics-agent
y revise si la secciónEvents
de la salida contiene algún mensaje de error.oc get pods -n kube-system -l name=ibm-storage-metrics-agent
NAME READY STATUS RESTARTS AGE ibm-storage-metrics-agent-8685869cc6-79qzq
-
Revise los registros de
ibm-storage-metrics-agent
.oc logs ibm-storage-metrics-agent-xxx -n kube-system
-
Describa
ocscluster
y revise la salida para ver los mensajes de error.oc describe ocscluster <ocscluster-name> -n openshift-storage
-
Recopile datos sobre el clúster utilizando el mandato
oc adm must-gather
.oc adm must-gather --image=registry.redhat.io/ocs4/ocs-must-gather-rhel8:latest --dest-dir=ocs_mustgather
-
Para los clústeres clásicos o los clústeres de Satellite que utilizan volúmenes locales en el nodo de trabajador, asegúrese de que exista el
disk-by-id
para los volúmenes que ha utilizado para los parámetrososd-device-path
ymon-device-path
en los nodos de trabajador. Para obtener más información sobre cómo recuperar estos ID de volumen, consulte Recopilación de los detalles del dispositivo. -
Revise la documentación de resolución de problemas para ver los pasos para resolver errores comunes.