Debugging von Portworx-Fehlern

Überprüfen Sie die Optionen zur Fehlersuche in Portworx und finden Sie die Grundursachen von Fehlern.

Es wird überprüft, ob der Pod, der Ihre Speicherinstanz anhängt, erfolgreich implementiert wurde

Folgen Sie den Schritten, um alle Fehlermeldungen im Zusammenhang mit der Pod-Bereitstellung zu überprüfen.

  1. Listen Sie die Pods in Ihrem Cluster auf. Ein Pod wurde erfolgreich bereitgestellt, wenn er den Status Running (Aktiv) anzeigt.

    oc get pods
    
  2. Rufen Sie die Details Ihres Pods ab und überprüfen Sie alle Fehlernachrichten, die im Abschnitt Events Ihrer CLI-Ausgabe angezeigt werden.

    oc describe pod <pod_name>
    
  3. Rufen Sie die Protokolle für Ihren Pod ab und überprüfen Sie alle Fehlernachrichten.

    oc logs <pod_name>
    
  4. Lesen Sie in der Portworx-Dokumentation zur Fehlerbehebung nach, wie Sie häufige Fehler beheben können.

Ihre App-Pod erneut starten

Einige Probleme können behoben werden, indem Sie Ihre Pods erneut starten und erneut implementieren. Führen Sie die folgenden Schritte aus, um einen bestimmten Pod erneut zu implementieren.

  1. Wenn Ihr Pod Teil einer Bereitstellung ist, löschen Sie den Pod und lassen Sie die Bereitstellung den Pod erneut erstellen. Wenn Ihr Pod nicht Teil einer Bereitstellung ist, löschen Sie den Pod und wenden Sie Ihre Konfigurationsdatei für Pods erneut an.

    1. Löschen Sie den Pod.
        oc delete pod <pod_name>
        ```
        Beispielausgabe
        ```sh {: screen}
        pod "nginx" deleted
        ```
    2. Wenden Sie die Konfigurationsdatei erneut an, um den Pod erneut bereitzustellen.
    ```sh {: pre}
        oc apply -f <app.yaml>
        ```
        Beispielausgabe
        ```sh {: pre}
        pod/nginx created
        ```
    
  2. Wenn durch den Neustart des Pods das Problem nicht behoben wird, laden Sie Ihre Workerknoten erneut.

  3. Überprüfen Sie, ob Sie die neueste Version des IBM Cloud- und IBM Cloud Kubernetes Service-Plug-ins verwenden.

    ibmcloud update
    
    ibmcloud plugin repo-plugins
    
    ibmcloud plugin update
    

Überprüfen Sie, ob sich der Portworx-Speichertreiber und die Plug-in-Pods im betriebsbereiten Status Running befinden

Führen Sie die entsprechenden Schritte aus, um den Status Ihres Speichertreibers und Ihrer Plug-in-Pods abzurufen und alle Fehlernachrichten zu überprüfen.

  1. Listen Sie die Pods im Projekt kube-system auf.
    oc get pods -n kube-system | grep `portworx\|stork`
    
    Beispielausgabe:
    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
    
  2. Wenn die Speichertreiber- und Plug-in-Pods keinen Aktiv-Status aufweisen, rufen Sie weitere Details des Pods ab, um die Fehlerursache zu finden. Abhängig vom Status Ihres Pods können Sie möglicherweise nicht alle folgenden Befehle ausführen.
    1. Rufen Sie die Namen der Container ab, die im Treiberpod ausgeführt werden.
        kubectl describe pod <pod_name> -n kube-system
        ```
    2. Exportieren Sie die Protokolle aus dem Pod für Treiber in eine Datei `logs.txt` auf Ihrer lokalen Maschine.
    ```sh {: pre}
        oc logs <pod_name> -n kube-system > logs.txt
        ```
    3. Überprüfen Sie die Protokolldatei.
    ```sh {: pre}
        cat logs.txt
        ```
    
  3. Überprüfen Sie die neuesten Protokolle auf irgendwelche Fehlernachrichten. Lesen Sie in der Portworx-Dokumentation zur Fehlerbehebung nach, wie Sie häufige Fehler beheben können.

oc CLI-Version wird überprüft und aktualisiert

Wenn Sie eine oc-Version für die CLI (Befehlszeilenschnittstelle) verwenden, die nicht mindestens mit der Major-Minor-Version Ihres Clusters übereinstimmt, können unerwartete Ergebnisse auftreten. Beispielsweise unterstützt Kubernetes keine Client-Versionen von oc, die zwei oder mehr Versionen von der Server-Version abweichen (n ± 2).

  1. Vergewissern Sie sich, dass die oc-CLI-Version, die Sie auf Ihrem lokalen Rechner ausführen, mit der Kubernetes-Version übereinstimmt, die in Ihrem Cluster installiert ist. Zeigen Sie die oc-CLI-Version an, die in Ihrem Cluster und Ihrem lokalen Rechner installiert ist.

    oc version
    

    Beispielausgabe:

    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"}
    

    Die CLI-Versionen stimmen überein, wenn in GitVersion für den Client und den Server dieselbe Version angezeigt wird. Sie können den +IKS-Teil der Version für den Server ignorieren.

  2. Wenn die CLI-Versionen von „ oc “ auf Ihrem lokalen Rechner und in Ihrem Cluster nicht übereinstimmen, aktualisieren Sie entweder Ihren Cluster oder installieren Sie eine andere CLI-Version auf Ihrem lokalen Rechner.

Helm-Diagramme aktualisieren

  1. Suchen Sie die neueste Helm-Diagrammversion.

  2. Listen Sie die installierten Helm-Diagramme in Ihrem Cluster auf und vergleichen Sie die von Ihnen installierte Version mit der neuesten Version.

    helm list --all-namespaces
    
  3. Wenn eine neuere Version verfügbar ist, installieren Sie die neue Version. Anweisungen finden Sie unter Portworx in Ihrem Cluster aktualisieren.