Warum wird meine Jobausführung nicht fertiggestellt?

Wenn Sie die Konsole verwenden, übergeben Sie einen Job und die Jobausführung wird nicht abgeschlossen.

Wenn Sie die Befehlszeilenschnittstelle verwenden, wird die Jobausführung nach der Übergabe eines Jobs nicht abgeschlossen. Sie können dieses Ergebnis bestätigen, indem Sie den ibmcloud ce jobrun get Befehl , um die Details der Jobausführung anzuzeigen, und das Ergebnis des Joblaufstatus umfasst nicht die folgende Ausgabe:

Status:                True
Type:                  Complete

Wenn Ihre Jobausführung nicht abgeschlossen wurde, stellen Sie fest, ob einer der folgenden Fälle zutrifft.

  1. Für die Ausführung des Jobs ist mehr Zeit erforderlich.
  2. Das Image, das von der Jobausführung verwendet wird, ist nicht vorhanden.
  3. Das Kontingent für die Container-Registry wurde überschritten oder die Registry muss authentifiziert werden.
  4. Die Parameter für die Umgebungsvariable, die für die Jobausführung erforderlich sind, wurden nicht angegeben.
  5. Die Befehle oder Argumente, die an die Jobausführung übergeben wurden, sind nicht gültig.

Versuchen Sie eine der folgenden Lösungen.

  1. Überprüfen Sie, ob genügend Zeit für die Ausführung des Jobs angegeben ist.

    • Klicken Sie in der Konsole von Ihrer Jobseite auf Job übergeben , um einen Job auszuführen, der auf dem ausgewählten Job und den zugehörigen definierten Eigenschaften basiert. Stellen Sie sicher, dass der Wert für Jobzeitlimit ordnungsgemäß festgelegt ist und die Zeit für die Ausführung des Jobs ausreicht.

    • Überprüfen Sie mit der Befehlszeilenschnittstelle, ob die Option --maxexecutiontime MAX_TIME ordnungsgemäß festgelegt wurde und dass genügend Zeit für den Abschluss des Jobs angegeben wurde.

  2. Stellen Sie sicher, dass das von der Jobausführung verwendete Image vorhanden ist und ordnungsgemäß auf das Image verwiesen wird.

    • Überprüfen Sie von der Seite der Konsole auf Ihrer Jobseite, ob das für Bildverweis angegebene Image korrekt ist, und bestätigen Sie, dass dieses Image in der Containerregistry vorhanden ist.

    • Verwenden Sie bei der Befehlszeilenschnittstelle den Befehl ibmcloud ce jobrun get , um Details zu Ihrer Jobausführung anzuzeigen, die den Namen des Images enthält. Stellen Sie sicher, dass Sie ein Image verwenden, das vorhanden ist.

  3. Suchen Sie nach einem ImagePullBackOff-Fehler, indem Sie den Befehl ibmcloud ce jobrun events --jobrun JOBRUN_NAME ausführen; zum Beispiel:

    ibmcloud ce jobrun events --jobrun myjobrun
    
    • Wenn der Fehler in den Ereignissen der folgenden Nachricht ähnelt, gibt dieser Fehler an, dass das Registry-Kontingent überschritten wurde. Ziehen Sie ein Upgrade Ihres Plans in Betracht. Informationen zu IBM Cloud Container Registry-Serviceplänen und -Kontingenten finden Sie unter Informationen zu IBM Cloud Container Registry.
      403 Forbidden - Server message: denied: You have exceeded your pull traffic quota for the current month. Review your pull traffic quota and pricing plan.
      
    • Wenn der Fehler in den Ereignissen der folgenden Nachricht ähnelt, gibt dieser Fehler an, dass der Zugriff auf die Registry nicht vorhanden ist oder möglicherweise eine Berechtigung erfordert. Überprüfen Sie, ob Ihre Berechtigungsnachweise über den entsprechenden Zugriff auf die Registry verfügen.
      Failed to pull image "<image_name>": rpc error: code = Unknown desc = failed to pull and unpack image "<image_name:image_tag>": failed to resolve reference <image_name:image_tag>": pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed.
      
  4. Details der übergebenen Jobausführung anzeigen.

    • Zeigen Sie in der Konsole Details Ihrer übergebenen Jobausführung an, indem Sie auf den Namen Ihrer Jobausführung auf der Registerkarte Jobausführungen auf Ihrer Jobseite klicken. Auf der Seite mit den Details der übergebenen Jobausführung können Sie alle definierten Umgebungsvariablen überprüfen und überprüfen, ob die Umgebungsvariablen korrekt sind.

    • Verwenden Sie in der Befehlszeile den Befehl ibmcloud ce jobrun get und überprüfen Sie die Ergebnisse für die folgenden Elemente:

      • Überprüfen Sie, ob alle Umgebungsvariablen, die mit den Optionen --env KEY=VALUE, --env-from-secret SECRET_NAME und --env-from-configmap CONFIGMAP_NAME festgelegt wurden, in den Jobausführungsdetails korrekt sind.
      • Überprüfen Sie anhand der Befehle ibmcloud ce secret get --name SECRET_NAME und ibmcloud ce configmap get --name CONFIGMAP_NAME, ob die Umgebungsvariablen vorhanden sind, die im geheimen Schlüssel und der Konfigurationszuordnung gespeichert sind.
  5. Überprüfen Sie, ob die Befehle und Argumente für die Jobausführung gültig sind.

    • Zeigen Sie in der Konsole Details der übergebenen Jobausführung an, indem Sie auf der Registerkarte Jobausführungen auf der Jobseite auf den Namen Ihrer Jobausführung klicken. Auf der Detailseite für übergebene Jobs werden alle Befehle oder Argumente aufgelistet, die für die übergebene Jobausführung definiert sind. Die Reihenfolge der Befehle und Argumente ist wichtig.

    • Verwenden Sie in der Befehlszeilenschnittstelle die Anzeige der Details der übergebenen Jobausführung mithilfe des Befehls ibmcloud ce jobrun get . Die Reihenfolge der Befehle und Argumente ist wichtig.

Wenn das Problem durch diese Lösungen nicht behoben werden kann, versuchen Sie zur weiteren Fehlerbehebung die Protokolle oder Systemereignisinformationen für die Jobausführung abzurufen. Weitere Informationen finden Sie unter Wie erhalte ich Protokolle für meine Jobausführungsinstanzen? und Wie erhalte ich Systemereignisinformationen für meine Jobausführungsinstanzen? (CLI).

Weitere Informationen zum Ausführen von Jobs finden Sie unter Jobs ausführen.