Depuración de errores de Portworx
Revise las opciones para depurar Portworx 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.
kubectl 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.
kubectl describe pod <pod_name> -
Recupere los registros para el pod y revise los mensajes de error.
kubectl 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.
kubectl 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} kubectl 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 de Portworx y los pods de plugin muestran un estado de 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 espacio de nombres
kube-system.
Salida de ejemplo:kubectl get pods -n kube-system | grep `portworx\|stork`portworx-594rw 1/1 Running 0 20h portworx-rn6wk 1/1 Running 0 20h portworx-rx9vf 1/1 Running 0 20h stork-6b99cf5579-5q6x4 1/1 Running 0 20h stork-6b99cf5579-slqlr 1/1 Running 0 20h stork-6b99cf5579-vz9j4 1/1 Running 0 20h stork-scheduler-7dd8799cc-bl75b 1/1 Running 0 20h stork-scheduler-7dd8799cc-j4rc9 1/1 Running 0 20h stork-scheduler-7dd8799cc-knjwt 1/1 Running 0 20h - 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. En función del estado del pod, es posible que no pueda ejecutar todos
los mandatos 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} kubectl 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 Portworx los pasos para resolver los errores comunes.
Comprobar y actualizar la versión de la CLI de kubectl
Si utiliza una versión de CLI de kubectl que no coincide al menos con la versión major.minor de los clústeres, es posible que se produzcan resultados inesperados. Por ejemplo, Kubernetes no es compatible con versiones de cliente kubectl 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 la CLI de
kubectlque se ejecuta en la máquina local coincide con la versión de Kubernetes que está instalada en el clúster. Visualice la versión de la CLI dekubectlque está instalada en el clúster y en la máquina local.kubectl versionSalida de ejemplo:
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"}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
kubectlen su equipo local y en su clúster no coinciden, actualice su clúster o instale una versión diferente de la CLI en su equipo local.
Actualizar diagramas de Helm
-
Busque la última versión del diagrama de Helm.
-
Liste los diagramas de Helm instalados en el clúster y compare la versión que ha instalado con la versión más reciente.
helm list --all-namespaces -
Si hay una versión más reciente disponible, instale la nueva versión. Para obtener instrucciones, consulte Actualización de Portworx en el clúster.