Depuración de errores de IBM Cloud File Storage for Classic
Revise las opciones para depurar File Storage for Classic y busque las causas 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.
oc delete pod <pod_name> ``` Salida de ejemplo ```sh {: screen} pod "nginx" deleted ``` 2. Vuelva a aplicar el archivo de configuración para volver a desplegar el pod. ```sh {: pre} oc apply -f <app.yaml> ``` Salida de ejemplo ```sh {: pre} pod/nginx created ``` -
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 updateibmcloud plugin repo-pluginsibmcloud 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 ``` 2. Exporte los registros del pod de controlador a un archivo `logs.txt` en la máquina local. ```sh {: pre} oc logs <pod_name> -n kube-system > logs.txt ``` 3. Revise el archivo de registro. ```sh {: pre} 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 File Storage for Classic los pasos para resolver los errores comunes.
Comprobar si la PVC se ha suministrado correctamente.
Siga los pasos para comprobar el estado de la PVC y revise los mensajes de error.
-
Compruebe el estado de la PVC. Una PVC se ha suministrado correctamente si la PVC muestra el estado Bound.
oc get pvc-
Si la PVC muestra un estado de Bound, la PVC se ha suministrado correctamente.
Salida de ejemplo
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE silver-pvc Bound pvc-4b881a6b-ada8-4a44-b568-fe909107d756 24Gi RWX ibmc-file-silver 7m29s -
Si el estado de la PVC muestra Pending, describa la PVC y revise en la sección Events de la salida si hay avisos o mensajes de error. Tenga en cuenta que las PVC que hacen referencia a clases de almacenamiento con la modalidad de enlace de volumen establecida en
WaitForFirstConsumerpermanecen Pending hasta que se despliega un pod de app que utiliza la PVC.oc describe pvc <pvc_name>Salida de ejemplo
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
-
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 es compatible con versiones de cliente oc que tengan una diferencia de dos o más versiones con respecto a la versión del servidor (n ± 2).
-
Verifique que la versión de CLI de
ocque ejecuta en la máquina local coincide con la versión de Kubernetes instalada en el clúster. Muestre la versión de CLI deocque está instalada en el clúster y en la máquina local.oc versionSalida de ejemplo:
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"}Las versiones de la CLI coinciden si aparece la misma versión en
GitVersionpara el cliente y para el servidor. Puede pasar por alto la parte+IKSde la versión del servidor. -
Si las versiones de la CLI
ocen tu equipo local y en tu clúster no coinciden, actualiza tu clúster o instala una versión diferente de la CLI en tu equipo local.